Bool/Sum instances
adapting instances to use explicitly passed args, with better struct and naming