change sequence expression to append function
add manySatisfy and stringsSepBy
abstract class to interface