language changes: {,Total}{Eq,Ord} -> {Partial,}{Eq,Ord}; modernized constructors.