add some proc indirection goodness to fluently validate args