func House BuildOnRock(floors, bedrooms, bathrooms)
{
    Guard.NotNull(floors)
    Guard.InRange(1, 4, floors)
    Guard.NotNull(bedrooms)
    Guard.InRange(1, 12, bedrooms)
    Guard.NotNull(bathrooms)
    Guard.InRange(1, 12, bathrooms)

    return new House(floors, bedrooms, bathrooms, foundation: rock)
}
func House BuildOnSand(floors, bedrooms, bathrooms)
{
    return new House(floors, bedrooms, bathrooms, foundation: sand)
}
> house = BuildOnSand(1, 0, 0)
> PROCESS TERMINATED - FATAL ERROR: ValueOutOfBoundsException(0)