separate the two differences in philosophy.
clarify the example by swapping the arguments
simpler example