decodeUser :: JSValue -> Result TwitterUser
decodeUser (JSObject obj) = TwitterUser <$> valFromObj "id" obj
                                        <*> valFromObj "name" obj
                                        <*> valFromObj "screen_name" obj
                          <|>
                            TwitterUserId <$> valFromObj "id" obj
decodeUser :: JSValue -> Result TwitterUser
decodeUser (JSObject obj) = TwitterUser <$> valFromObj "id" obj
                                        <*> valFromObj "name" obj
                                        <*> valFromObj "screen_name" obj
                          <|>
                            TwitterUserId <$> valFromObj "id" obj
decodeUser (JSObject obj) = TwitterUser <$> valFromObj "id" obj
                                        <*> valFromObj "name" obj
                                        <*> valFromObj "screen_name" obj
                          <|>
                            TwitterUserId <$> valFromObj "id" obj