Consistent bind_all usage

All but util.shapes imports decorators, so let's also do this here.
Condense conditions