Prelude Data.Aeson Data.Time> decode (encode [x]) :: Maybe [UTCTime]
Just [2013-10-17 10:06:59.542 UTC]
Note the "pitfalls" section in the haddocks:
Note that the JSON standard requires that the top-level value be either an array or an object. If you try to use decode with a result type that is not represented in JSON as an array or object, your code will typecheck, but it will always "fail" at runtime:
...
So stick to objects (e.g. maps in Haskell) or arrays (lists or vectors in Haskell):