Vex validate w anon. function: cannot inject attribute @vex_validations into function/macro because cannot escape #Function

  validates(:withdrawal, presence: [message: "expected"], 
  by: [function: &Test.test(&1, Map.get(&2, :funds_balance)), 
  message: "invalid withdrawal."])

Map.get(&2, :funds_balance) will evaluate to the value held in funds_balance and @enforce_keys guarantee a non nil value. And i have tested it with a non-nil value.

The function Test.test has an arity of 2 and accepts two values &1: withdrawal (which is being evaluated) and the outcome of evaluating Map.get&2: funds balance resulting in an evaluation which is either false or true

So as a result, the function for the validator above will return true or false.

What I believe is the anon function utilizing the Vex.validator does not seem to like having a nested function using a capture operator. So im checking my understanding.