Tests for each type are above.