add test to ensure circular references are actually circular
rewrite implementation
remove `circular` dependency
add test using arrays
make arrays from arrays
1.1.0