Added List implementation, traits, and higher functions