structural type might work if I can get the product trait to show through, but may only push the problem to defining structural types at runtime
getting there
1st success with asm-salat