https://flowtype.org/try is broken since the flow team pushed v0.36.0 three hours ago. 😕 I filed an issue here: facebook/flow#3003 To run any of the below examples, alter the version dropdown in to top right to v0.36.0
Flow can actually infer the parameter and return types of the function: https://flowtype.org/try/#0GYVwdgxgLglg9mABBO4oBM4HcwBU4DCAFgE4wDOUAtgIbkAU6NUApgJSIDeAUIsgpURMAnuQAyLYFEQBeRACYALIgC0Q5i269EMYIkY1REqYgB8iAAwcefPiRZQQJJAAMAJJxHjJUAL7rRRFgAG2DEYjJKWnIAQhdtX25E7hQwQSZWWUQwFixEABENejYAOgBzB0LWYpTUMAxsPEJSCmo6A1ZSqDgAVQAHPpYSAjoWYqA
Flow doesn't catch the bug: https://flowtype.org/try/#0GYVwdgxgLglg9mABBAhgBxlFAbGAvAUwAoBnKAJwC5EzyYwBzASmoH5b6HEBvAKEUTkCUEOSS0A2gAYAugDoocAKpo0BcgGEUJYk0QBqGhTklcEYgEYmvAL69eqDFlyEiAIjfWgA
Why does this fail? https://flowtype.org/docs/nullable-types.html#undefined-values-and-optional-types
We can force the error using a typecast expression: https://flowtype.org/try/#0GYVwdgxgLglg9mABBAhgBxlFAbGAvAUwAoBnKAJwC5EzyYwBzASmoH5b6HEBvAKEUTkCUEOSSkKAbQAMAXTYdGTAHRQ4AVTRoC5AMIoSxJogDUNCspK4IxAIxNeAX169UGLLkJEARN4dA
Type parameters. Bug fixed: https://flowtype.org/try/#0PTAEAEDMBsHsHcBQjIFcB2BjALgS1uqJgIYAOu2x0uAXgKYAUAztgE4BcoLru6A5gEpQAb0ShQrOtlStC3AHSYAFsVYBBbAwAMA+dlgBVUqTqsAwsSaMhAai5t5TapkYBGAYgC+yEuUrV6BgByII8gA