Really? Plenty of needlessly abbreviated function names IMO. At a quick glance is it immediately obvious what posf or arem are without looking into the context in which they're being used?
Don't get me wrong it's a nice piece of code but super-readable it isn't.