Introduces and generalizes has_default