Basic rules and types