type with moves

Ideas collected by Dan Treder