API allows single item instead of always demanding an array as an argument

Most of the time, propagate is used with a single transaction. It's just an odd interface having to wrap it with `[]`. If `propagate` accepts a single item, there's no reason other methods shouldn't.