Add initial implementation of Either