operators - done
generic type constraints - skip
delegates and events - working