Avoiding `none` far at the right hand side: # Instead of writing: if longlonglongstuff == none if longlonglongstuff != none # Maybe write this: if unset longlonglongstuff if set longlonglongstuff # Similarly for 0 if zero longlonglongstuff if nonzero longlonglongstuff Named function arguments: # These probably cannot use `=`, but `:` should work: init_list value:123, count:100 Pass-and-assign syntax? a = dostuff a # maybe allow it to be passed as a var-parameter dostuff a! # or have some dedicated syntax? a! dostuff # or use `given` given a = somelongvariable a = dostuff a Bitwise operators that are intuitive: # It's easy to think that "AND" adds 1's and "OR" removes 1's, # when it's actually the other way around. # Maybe these names are better for OR: either bit_either union mask_any mask_if_either set_from_either set_if_any_set bits_from_either bit_combine # or, maybe even an "asymmetric" name if that allows us to # use more intuitive terminology: set_1 set_if_present set_if_either_one # Maybe these names are better for AND: both bit_both intersection mask_both mask_if_both set_from_both set_if_both_set common_bits bits_in_common # "asymmetric" names: set_0 clear_if_missing clear_if_either_zero