add initial limit

initial limit, just looking for some feedback on it.
ATM it only errors when `.buffer(true)`, would need to somehow get it working with streams.

cc @gjohnson