Return all legal moves
Privatise func
Fix legal-move? to account for 0 moves left