Some basic abstractions.