//get the turf something is eventually on (or null if none)
Because nobody else seems to know how to do this. Note that this is only one possible implementation, it does not give exactly the results that you have described. For example, in your example, it would not consider the northmost green tile to be unblocked.
This does, however, have the benefit of being quite fast. You probably don't want to try using it to generate a map of locations you can and can't teleport to, however. But, for determining whether the path between two turfs is unblocked, it works great.