The Move class may be free from liars (functions with lying type signatures :P). Not looking forward to fixing the test cases...