Given a BehaviorSubject, what is the practical difference between calling all of these different functions on it?

* First()
* Last()
* LatestValue()
* MostRecentValue()
* NextValue()
* Single()
* Take(1)

Assuming I understand it right, they should all do about the same thing, given the BehaviorSubject.

If so, then which call is the most appropriate (by which I mean: which best communicates my intent)? First or Single perhaps?

If not, then what are the practical differences?