Strongly-typed commands, part 1