change Block type definition and added a List<T> and Map<K, V> type