Ideally an ImproperList would be usable as a List.