WP 4.7 broke get_post_type or requires an explicit integer value?

According to the devs at WP (https://core.trac.wordpress.org/ticket/39164):

“This was an intentional change to get_post() in 4.7 – passing an invalid parameter may have previously returned a result, but it could’ve been an incorrect resource, for example, a value being cast to a numeric 1 and fetching from the incorrect post.
get_post( 123 ) is the same as get_post( ‘123’ ) but not the same as get_post( ” 123 ” ) (Which now fails) IMHO, so I agree with the change, especially in this case.”

So I would consider this the definitive answer. The behavior has changed to something better, it was just a surprise that it worked before.