anchor.diff:          isOpenHierarchy<int * string []> |> should equal false
           isOpenHierarchy<Type option * string []> |> should equal false
           isOpenHierarchy<Record> |> should equal false
  +        isOpenHierarchy<StructRecord> |> should equal false
  +        isOpenHierarchy<GenericRecord<GenericRecord<int>>> |> should equal false
  +        isOpenHierarchy<StructGenericRecord<StructGenericRecord<int>>> |> should equal false
           isOpenHierarchy<SimpleDU> |> should equal false
  +        isOpenHierarchy<StructDU> |> should equal false
           isOpenHierarchy<GenericClass<GenericClass<int>>> |> should equal false
   
           isOpenHierarchy<obj> |> should equal true
  
positive.code:         isFixedSize<int * string []> |> should equal false
          isFixedSize<Type option * string []> |> should equal false
          isFixedSize<Record> |> should equal false
          isFixedSize<SimpleDU> |> should equal false
          isFixedSize<GenericClass<GenericClass<int>>> |> should equal true
  
          isFixedSize<obj> |> should equal false
  
negative.code:         isRecursive<int * string []> |> should equal false
          isRecursive<Type option * string []> |> should equal false
          isRecursive<Record> |> should equal false
          isRecursive<StructRecord> |> should equal false
          isRecursive<GenericRecord<GenericRecord<int>>> |> should equal false
          isRecursive<StructGenericRecord<StructGenericRecord<int>>> |> should equal false
          isRecursive<SimpleDU> |> should equal false
          isRecursive<StructDU> |> should equal false
          isRecursive<GenericClass<GenericClass<int>>> |> should equal false
  
          isRecursive<obj> |> should equal true
  