Beginner's luck: a language for property-based generators