[libattean-perl] 20/42: Updated metadata for 0.018 release.

Jonas Smedegaard dr at jones.dk
Mon Feb 12 13:16:13 UTC 2018


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag debian/0.019-1
in repository libattean-perl.

commit 66e03459584b54be20d0e97aac5d025a23b6101f
Author: Gregory Todd Williams <greg at evilfunhouse.com>
Date:   Sat Jan 6 10:15:55 2018 -0800

    Updated metadata for 0.018 release.
---
 lib/Attean.pm                               |  4 +-
 lib/Attean/API.pm                           | 16 +++---
 lib/Attean/API/AbbreviatingParser.pod       |  2 +-
 lib/Attean/API/AbbreviatingSerializer.pod   |  2 +-
 lib/Attean/API/AggregateExpression.pod      |  2 +-
 lib/Attean/API/AppendableSerializer.pod     |  2 +-
 lib/Attean/API/AtOnceParser.pod             |  2 +-
 lib/Attean/API/Binding.pm                   | 18 +++----
 lib/Attean/API/Blank.pod                    |  2 +-
 lib/Attean/API/BlankOrIRI.pod               |  2 +-
 lib/Attean/API/BulkUpdatableModel.pod       |  2 +-
 lib/Attean/API/Expression.pm                | 12 ++---
 lib/Attean/API/IRI.pod                      |  2 +-
 lib/Attean/API/Iterator.pm                  | 18 +++----
 lib/Attean/API/Literal.pod                  |  2 +-
 lib/Attean/API/MixedStatementParser.pod     |  2 +-
 lib/Attean/API/MixedStatementSerializer.pod |  2 +-
 lib/Attean/API/Model.pm                     | 12 ++---
 lib/Attean/API/MutableModel.pod             |  2 +-
 lib/Attean/API/MutableTripleStore.pod       |  2 +-
 lib/Attean/API/Parser.pm                    | 24 ++++-----
 lib/Attean/API/Plan.pm                      | 10 ++--
 lib/Attean/API/PullParser.pod               |  2 +-
 lib/Attean/API/PushParser.pod               |  2 +-
 lib/Attean/API/Quad.pod                     |  2 +-
 lib/Attean/API/QuadParser.pod               |  2 +-
 lib/Attean/API/QuadPattern.pod              |  2 +-
 lib/Attean/API/QuadSerializer.pod           |  2 +-
 lib/Attean/API/Query.pm                     | 28 +++++------
 lib/Attean/API/QueryPlanner.pm              | 14 +++---
 lib/Attean/API/RepeatableIterator.pod       |  2 +-
 lib/Attean/API/Result.pod                   |  2 +-
 lib/Attean/API/ResultParser.pod             |  2 +-
 lib/Attean/API/ResultSerializer.pod         |  2 +-
 lib/Attean/API/Serializer.pm                | 18 +++----
 lib/Attean/API/Store.pm                     | 22 ++++-----
 lib/Attean/API/Term.pm                      | 16 +++---
 lib/Attean/API/TermOrVariable.pod           |  2 +-
 lib/Attean/API/TermParser.pod               |  2 +-
 lib/Attean/API/TermSerializer.pod           |  2 +-
 lib/Attean/API/Triple.pod                   |  2 +-
 lib/Attean/API/TripleOrQuad.pod             |  2 +-
 lib/Attean/API/TripleParser.pod             |  2 +-
 lib/Attean/API/TriplePattern.pod            |  2 +-
 lib/Attean/API/TripleSerializer.pod         |  2 +-
 lib/Attean/API/Variable.pod                 |  2 +-
 lib/Attean/AggregateExpression.pod          |  2 +-
 lib/Attean/Algebra.pm                       | 76 ++++++++++++++---------------
 lib/Attean/BindingEqualityTest.pm           |  4 +-
 lib/Attean/Blank.pm                         |  4 +-
 lib/Attean/CodeIterator.pm                  |  4 +-
 lib/Attean/Expression.pm                    | 18 +++----
 lib/Attean/IDPQueryPlanner.pm               |  4 +-
 lib/Attean/IRI.pm                           |  4 +-
 lib/Attean/IteratorSequence.pm              |  4 +-
 lib/Attean/ListIterator.pm                  |  4 +-
 lib/Attean/Literal.pm                       |  4 +-
 lib/Attean/Plan.pm                          | 54 ++++++++++----------
 lib/Attean/Quad.pm                          |  6 +--
 lib/Attean/QuadModel.pm                     |  6 +--
 lib/Attean/QueryPlanner.pm                  |  4 +-
 lib/Attean/RDF.pm                           |  4 +-
 lib/Attean/Result.pm                        |  4 +-
 lib/Attean/SimpleQueryEvaluator.pm          |  6 +--
 lib/Attean/TermMap.pm                       |  4 +-
 lib/Attean/TreeRewriter.pm                  |  4 +-
 lib/Attean/Triple.pm                        |  6 +--
 lib/Attean/TripleModel.pm                   | 12 ++---
 lib/Attean/Variable.pm                      |  4 +-
 lib/AtteanX/API/JoinRotatingPlanner.pm      |  4 +-
 lib/AtteanX/API/Lexer.pm                    |  4 +-
 lib/AtteanX/Parser/NQuads.pm                |  4 +-
 lib/AtteanX/Parser/NTriples.pm              |  4 +-
 lib/AtteanX/Parser/NTuples.pm               |  4 +-
 lib/AtteanX/Parser/RDFXML.pm                |  4 +-
 lib/AtteanX/Parser/SPARQL.pm                |  4 +-
 lib/AtteanX/Parser/SPARQLJSON.pm            |  4 +-
 lib/AtteanX/Parser/SPARQLLex.pm             |  6 +--
 lib/AtteanX/Parser/SPARQLTSV.pm             |  4 +-
 lib/AtteanX/Parser/SPARQLXML.pm             |  4 +-
 lib/AtteanX/Parser/SPARQLXML/SAXHandler.pm  |  4 +-
 lib/AtteanX/Parser/Turtle.pm                |  4 +-
 lib/AtteanX/Parser/Turtle/Constants.pm      |  4 +-
 lib/AtteanX/Parser/Turtle/Lexer.pm          |  4 +-
 lib/AtteanX/Parser/Turtle/Token.pm          |  4 +-
 lib/AtteanX/SPARQL/Constants.pm             |  4 +-
 lib/AtteanX/SPARQL/Token.pm                 |  4 +-
 lib/AtteanX/Serializer/CanonicalNTriples.pm |  4 +-
 lib/AtteanX/Serializer/NQuads.pm            |  4 +-
 lib/AtteanX/Serializer/NTriples.pm          |  4 +-
 lib/AtteanX/Serializer/NTuples.pm           |  4 +-
 lib/AtteanX/Serializer/RDFXML.pm            |  4 +-
 lib/AtteanX/Serializer/SPARQL.pm            |  4 +-
 lib/AtteanX/Serializer/SPARQLCSV.pm         |  4 +-
 lib/AtteanX/Serializer/SPARQLHTML.pm        |  4 +-
 lib/AtteanX/Serializer/SPARQLJSON.pm        |  4 +-
 lib/AtteanX/Serializer/SPARQLTSV.pm         |  4 +-
 lib/AtteanX/Serializer/SPARQLXML.pm         |  4 +-
 lib/AtteanX/Serializer/Turtle.pm            |  4 +-
 lib/AtteanX/Serializer/TurtleTokens.pm      |  4 +-
 lib/AtteanX/Store/Memory.pm                 |  4 +-
 lib/AtteanX/Store/Simple.pm                 |  4 +-
 lib/AtteanX/Store/SimpleTripleStore.pm      |  4 +-
 meta/changes.ttl                            | 23 ++++++++-
 104 files changed, 351 insertions(+), 330 deletions(-)

diff --git a/lib/Attean.pm b/lib/Attean.pm
index d9b145f..427fe7b 100644
--- a/lib/Attean.pm
+++ b/lib/Attean.pm
@@ -4,7 +4,7 @@ Attean - A Semantic Web Framework
 
 =head1 VERSION
 
-This document describes Attean version 0.017
+This document describes Attean version 0.018
 
 =head1 SYNOPSIS
 
@@ -41,7 +41,7 @@ Semantic Web (RDF and SPARQL) data.
 package Attean {
 	use v5.14;
 	use warnings;
-	our $VERSION	= '0.017';
+	our $VERSION	= '0.018';
 	use Attean::API;
 	
 	use Attean::Blank;
diff --git a/lib/Attean/API.pm b/lib/Attean/API.pm
index 08bfa0f..0ce6a63 100644
--- a/lib/Attean/API.pm
+++ b/lib/Attean/API.pm
@@ -7,7 +7,7 @@ Attean::API - Utility package for loading all Attean role packages.
 
 =head1 VERSION
 
-This document describes Attean::API version 0.017
+This document describes Attean::API version 0.018
 
 =head1 SYNOPSIS
 
@@ -25,15 +25,15 @@ in the Attean::API namespace.
 
 =cut
 
-package Attean::API::ResultOrTerm 0.017 {
+package Attean::API::ResultOrTerm 0.018 {
 	use Moo::Role;
 }
 
-package Attean::API::BlankOrIRI 0.017 {
+package Attean::API::BlankOrIRI 0.018 {
 	use Moo::Role;
 }
 
-package Attean::API::TermOrVariable 0.017 {
+package Attean::API::TermOrVariable 0.018 {
 	use Scalar::Util qw(blessed);
 	use Sub::Install;
 	use Sub::Util qw(set_subname);
@@ -83,12 +83,12 @@ package Attean::API::TermOrVariable 0.017 {
 	}
 }
 
-package Attean::Mapper 0.017 {
+package Attean::Mapper 0.018 {
 	use Moo::Role;
 	requires 'map'; # my $that = $object->map($this)
 }
 
-package Attean::API::Variable 0.017 {
+package Attean::API::Variable 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 
@@ -115,7 +115,7 @@ Returns a string representation of the variable.'
 	
 }
 
-package Attean::API::CanonicalizingBindingSet 0.017 {
+package Attean::API::CanonicalizingBindingSet 0.018 {
 	use Attean::RDF;
 
 	use Moo::Role;
@@ -212,7 +212,7 @@ package Attean::API::CanonicalizingBindingSet 0.017 {
 	}
 }
 
-package Attean::API 0.017 {
+package Attean::API 0.018 {
 	use Attean::API::Term;
 	use Attean::API::Store;
 	use Attean::API::Model;
diff --git a/lib/Attean/API/AbbreviatingParser.pod b/lib/Attean/API/AbbreviatingParser.pod
index 1df3b5a..d9c088e 100644
--- a/lib/Attean/API/AbbreviatingParser.pod
+++ b/lib/Attean/API/AbbreviatingParser.pod
@@ -4,7 +4,7 @@ Attean::API::AbbreviatingParser - Role for parsers that use construct absolute I
 
 =head1 VERSION
 
-This document describes Attean::API::AbbreviatingParser version 0.017
+This document describes Attean::API::AbbreviatingParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/AbbreviatingSerializer.pod b/lib/Attean/API/AbbreviatingSerializer.pod
index 706765c..e3a1f99 100644
--- a/lib/Attean/API/AbbreviatingSerializer.pod
+++ b/lib/Attean/API/AbbreviatingSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::AbbreviatingSerializer - Role for serializers that can abbreviate I
 
 =head1 VERSION
 
-This document describes Attean::API::AbbreviatingSerializer version 0.017
+This document describes Attean::API::AbbreviatingSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/AggregateExpression.pod b/lib/Attean/API/AggregateExpression.pod
index f99f902..183ba08 100644
--- a/lib/Attean/API/AggregateExpression.pod
+++ b/lib/Attean/API/AggregateExpression.pod
@@ -4,7 +4,7 @@ Attean::API::AggregateExpression - Role representing an aggregate expression tre
 
 =head1 VERSION
 
-This document describes Attean::API::AggregateExpression version 0.017
+This document describes Attean::API::AggregateExpression version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/AppendableSerializer.pod b/lib/Attean/API/AppendableSerializer.pod
index d4a9890..2098992 100644
--- a/lib/Attean/API/AppendableSerializer.pod
+++ b/lib/Attean/API/AppendableSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::AppendableSerializer - Role for serializers that can be repeatedly
 
 =head1 VERSION
 
-This document describes Attean::API::AppendableSerializer version 0.017
+This document describes Attean::API::AppendableSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/AtOnceParser.pod b/lib/Attean/API/AtOnceParser.pod
index e43a528..138c773 100644
--- a/lib/Attean/API/AtOnceParser.pod
+++ b/lib/Attean/API/AtOnceParser.pod
@@ -4,7 +4,7 @@ Attean::API::AtOnceParser - Role for parsers that natively parse all input befor
 
 =head1 VERSION
 
-This document describes Attean::API::AtOnceParser version 0.017
+This document describes Attean::API::AtOnceParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Binding.pm b/lib/Attean/API/Binding.pm
index a42d2aa..f16cf5e 100644
--- a/lib/Attean/API/Binding.pm
+++ b/lib/Attean/API/Binding.pm
@@ -7,7 +7,7 @@ Attean::API::Binding - Name to term bindings
 
 =head1 VERSION
 
-This document describes Attean::API::Binding version 0.017
+This document describes Attean::API::Binding version 0.018
 
 =head1 DESCRIPTION
 
@@ -71,7 +71,7 @@ otherwise.
 
 use Type::Tiny::Role;
 
-package Attean::API::Binding 0.017 {
+package Attean::API::Binding 0.018 {
 	use Scalar::Util qw(blessed);
 	use List::MoreUtils qw(zip);
 
@@ -173,7 +173,7 @@ C<< $binding >>.
 	}
 }
 
-package Attean::API::TripleOrQuadPattern 0.017 {
+package Attean::API::TripleOrQuadPattern 0.018 {
 	use Encode qw(encode);
 	use List::MoreUtils qw(zip);
 	use Scalar::Util qw(blessed);
@@ -279,7 +279,7 @@ parsed from C<< $string >> in SPARQL syntax.
 	}
 }
 
-package Attean::API::TripleOrQuad 0.017 {
+package Attean::API::TripleOrQuad 0.018 {
 	use List::MoreUtils qw(any);
 	use Carp;
 
@@ -295,7 +295,7 @@ package Attean::API::TripleOrQuad 0.017 {
 	}
 }
 
-package Attean::API::TriplePattern 0.017 {
+package Attean::API::TriplePattern 0.018 {
 	use Moo::Role;
 	use List::MoreUtils qw(zip);
 	use Scalar::Util qw(blessed);
@@ -348,7 +348,7 @@ package Attean::API::TriplePattern 0.017 {
 	with 'Attean::API::TripleOrQuadPattern', 'Attean::API::Binding';
 }
 
-package Attean::API::Triple 0.017 {
+package Attean::API::Triple 0.018 {
 	use Moo::Role;
 	
 	if ($ENV{ATTEAN_TYPECHECK}) {
@@ -383,7 +383,7 @@ package Attean::API::Triple 0.017 {
 	with 'Attean::API::TriplePattern', 'Attean::API::TripleOrQuad', 'Attean::API::Binding';
 }
 
-package Attean::API::QuadPattern 0.017 {
+package Attean::API::QuadPattern 0.018 {
 	use Scalar::Util qw(blessed);
 	use List::MoreUtils qw(zip);
 
@@ -440,7 +440,7 @@ package Attean::API::QuadPattern 0.017 {
 	with 'Attean::API::TripleOrQuadPattern', 'Attean::API::Binding';
 }
 
-package Attean::API::Quad 0.017 {
+package Attean::API::Quad 0.018 {
 	use Moo::Role;
 	
 	if ($ENV{ATTEAN_TYPECHECK}) {
@@ -467,7 +467,7 @@ package Attean::API::Quad 0.017 {
 }
 
 
-package Attean::API::Result 0.017 {
+package Attean::API::Result 0.018 {
 	use Scalar::Util qw(refaddr);
 	use Types::Standard qw(HashRef);
 
diff --git a/lib/Attean/API/Blank.pod b/lib/Attean/API/Blank.pod
index f8de6ae..d0b604a 100644
--- a/lib/Attean/API/Blank.pod
+++ b/lib/Attean/API/Blank.pod
@@ -4,7 +4,7 @@ Attean::API::Blank - Role representing RDF blank terms
 
 =head1 VERSION
 
-This document describes Attean::API::Blank version 0.017
+This document describes Attean::API::Blank version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/BlankOrIRI.pod b/lib/Attean/API/BlankOrIRI.pod
index 96a4d21..ae3b990 100644
--- a/lib/Attean/API/BlankOrIRI.pod
+++ b/lib/Attean/API/BlankOrIRI.pod
@@ -4,7 +4,7 @@ Attean::API::BlankOrIRI - Role representing blank or IRI terms
 
 =head1 VERSION
 
-This document describes Attean::API::BlankOrIRI version 0.017
+This document describes Attean::API::BlankOrIRI version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/BulkUpdatableModel.pod b/lib/Attean/API/BulkUpdatableModel.pod
index 3f810b6..3759389 100644
--- a/lib/Attean/API/BulkUpdatableModel.pod
+++ b/lib/Attean/API/BulkUpdatableModel.pod
@@ -4,7 +4,7 @@ Attean::API::BulkUpdatableModel - Role representing models that can perform bulk
 
 =head1 VERSION
 
-This document describes Attean::API::BulkUpdatableModel version 0.017
+This document describes Attean::API::BulkUpdatableModel version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/Expression.pm b/lib/Attean/API/Expression.pm
index 7fd89f7..ba49cba 100644
--- a/lib/Attean/API/Expression.pm
+++ b/lib/Attean/API/Expression.pm
@@ -7,7 +7,7 @@ Attean::API::Expression - SPARQL expressions
 
 =head1 VERSION
 
-This document describes Attean::API::Expression version 0.017
+This document describes Attean::API::Expression version 0.018
 
 =head1 DESCRIPTION
 
@@ -65,7 +65,7 @@ Returns a string serialization of the expression object.
 
 =cut
 
-package Attean::API::Expression 0.017 {
+package Attean::API::Expression 0.018 {
 	use Types::Standard qw(Str);
 
 	use Moo::Role;
@@ -100,7 +100,7 @@ package Attean::API::Expression 0.017 {
 	}
 }
 
-package Attean::API::UnaryExpression 0.017 {
+package Attean::API::UnaryExpression 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 
@@ -140,7 +140,7 @@ package Attean::API::UnaryExpression 0.017 {
 	}
 }
 
-package Attean::API::BinaryExpression 0.017 {
+package Attean::API::BinaryExpression 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 
@@ -189,7 +189,7 @@ package Attean::API::BinaryExpression 0.017 {
 	}
 }
 
-package Attean::API::NaryExpression 0.017 {
+package Attean::API::NaryExpression 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Expression', 'Attean::API::QueryTree';
 	sub as_string {
@@ -209,7 +209,7 @@ package Attean::API::NaryExpression 0.017 {
 	}
 }
 
-package Attean::API::AggregateExpression 0.017 {
+package Attean::API::AggregateExpression 0.018 {
 	use Moo::Role;
 	requires 'operator';
 	requires 'scalar_vars';
diff --git a/lib/Attean/API/IRI.pod b/lib/Attean/API/IRI.pod
index ad782e9..aa962d0 100644
--- a/lib/Attean/API/IRI.pod
+++ b/lib/Attean/API/IRI.pod
@@ -4,7 +4,7 @@ Attean::API::IRI - Role representing RDF IRI terms
 
 =head1 VERSION
 
-This document describes Attean::API::IRI version 0.017
+This document describes Attean::API::IRI version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/Iterator.pm b/lib/Attean/API/Iterator.pm
index 965fdfc..8fca3c8 100644
--- a/lib/Attean/API/Iterator.pm
+++ b/lib/Attean/API/Iterator.pm
@@ -7,7 +7,7 @@ Attean::API::Iterator - Typed iterator
 
 =head1 VERSION
 
-This document describes Attean::API::Iterator version 0.017
+This document describes Attean::API::Iterator version 0.018
 
 =head1 DESCRIPTION
 
@@ -94,7 +94,7 @@ elements from the referent.
 
 =cut
 
-package Attean::API::Iterator 0.017 {
+package Attean::API::Iterator 0.018 {
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(Str Object InstanceOf);
 	use Role::Tiny;
@@ -277,7 +277,7 @@ Print each item as it is consumed (with the string generated by C<< as_string >>
 	}
 }
 
-package Attean::API::RepeatableIterator 0.017 {
+package Attean::API::RepeatableIterator 0.018 {
 	use Moo::Role;
 	requires 'reset';
 	
@@ -313,7 +313,7 @@ package Attean::API::CanonicalizingBindingIterator {
 	}
 }
 
-package Attean::API::ResultOrTermIterator 0.017 {
+package Attean::API::ResultOrTermIterator 0.018 {
 	use Moo::Role;
 	use Types::Standard qw(ArrayRef Str);
 	has 'variables' => (is => 'rw', isa => ArrayRef[Str], default => sub { [] });
@@ -351,7 +351,7 @@ package Attean::API::ResultOrTermIterator 0.017 {
 	};
 }
 
-package Attean::API::TripleIterator 0.017 {
+package Attean::API::TripleIterator 0.018 {
 	use Moo::Role;
 	with 'Attean::API::CanonicalizingBindingIterator';
 	sub as_quads {
@@ -361,12 +361,12 @@ package Attean::API::TripleIterator 0.017 {
 	}
 }
 
-package Attean::API::QuadIterator 0.017 {
+package Attean::API::QuadIterator 0.018 {
 	use Moo::Role;
 	with 'Attean::API::CanonicalizingBindingIterator';
 }
 
-package Attean::API::MixedStatementIterator 0.017 {
+package Attean::API::MixedStatementIterator 0.018 {
 	use Moo::Role;
 	with 'Attean::API::CanonicalizingBindingIterator';
 	sub as_quads {
@@ -379,7 +379,7 @@ package Attean::API::MixedStatementIterator 0.017 {
 	}
 }
 
-package Attean::API::ResultIterator 0.017 {
+package Attean::API::ResultIterator 0.018 {
 	use Types::Standard qw(Str ArrayRef);
 
 	use Moo::Role;
@@ -404,7 +404,7 @@ package Attean::API::ResultIterator 0.017 {
 	}
 }
 
-package Attean::API::TermIterator 0.017 {
+package Attean::API::TermIterator 0.018 {
 	use Moo::Role;
 	sub canonicalize {
 		my $self	= shift;
diff --git a/lib/Attean/API/Literal.pod b/lib/Attean/API/Literal.pod
index c5bedac..9ad83ae 100644
--- a/lib/Attean/API/Literal.pod
+++ b/lib/Attean/API/Literal.pod
@@ -4,7 +4,7 @@ Attean::API::Literal - Role representing RDF Literal terms
 
 =head1 VERSION
 
-This document describes Attean::API::Literal version 0.017
+This document describes Attean::API::Literal version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/MixedStatementParser.pod b/lib/Attean/API/MixedStatementParser.pod
index 576745a..21549af 100644
--- a/lib/Attean/API/MixedStatementParser.pod
+++ b/lib/Attean/API/MixedStatementParser.pod
@@ -4,7 +4,7 @@ Attean::API::MixedStatementParser - Role for parsers of L<Attean::API::TripleOrQ
 
 =head1 VERSION
 
-This document describes Attean::API::MixedStatementParser version 0.017
+This document describes Attean::API::MixedStatementParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/MixedStatementSerializer.pod b/lib/Attean/API/MixedStatementSerializer.pod
index 122ada3..6714cc9 100644
--- a/lib/Attean/API/MixedStatementSerializer.pod
+++ b/lib/Attean/API/MixedStatementSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::MixedStatementSerializer - Role for serializers of L<Attean::API::T
 
 =head1 VERSION
 
-This document describes Attean::API::MixedStatementSerializer version 0.017
+This document describes Attean::API::MixedStatementSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Model.pm b/lib/Attean/API/Model.pm
index 908c3e6..953ad22 100644
--- a/lib/Attean/API/Model.pm
+++ b/lib/Attean/API/Model.pm
@@ -7,7 +7,7 @@ Attean::API::Model - RDF Model
 
 =head1 VERSION
 
-This document describes Attean::API::Model version 0.017
+This document describes Attean::API::Model version 0.018
 
 =head1 DESCRIPTION
 
@@ -115,7 +115,7 @@ subjects and objects present in the specified C<< $graph >>.
 
 use Attean::API::Binding;
 
-package Attean::API::Model 0.017 {
+package Attean::API::Model 0.018 {
 	use Sub::Install;
 	use Sub::Util qw(set_subname);
 	use URI::Namespace;
@@ -236,7 +236,7 @@ package Attean::API::Model 0.017 {
 }
 
 
-package Attean::API::MutableModel 0.017 {
+package Attean::API::MutableModel 0.018 {
 	use Attean::RDF;
 	use LWP::UserAgent;
 	use Encode qw(encode);
@@ -328,21 +328,21 @@ package Attean::API::MutableModel 0.017 {
 }
 
 
-package Attean::API::ETagCacheableModel 0.017 {
+package Attean::API::ETagCacheableModel 0.018 {
 	use Moo::Role;
 	
 	requires 'etag_value_for_quads';
 }
 
 
-package Attean::API::TimeCacheableModel 0.017 {
+package Attean::API::TimeCacheableModel 0.018 {
 	use Moo::Role;
 	
 	requires 'mtime_for_quads';
 }
 
 
-package Attean::API::BulkUpdatableModel 0.017 {
+package Attean::API::BulkUpdatableModel 0.018 {
 	use Moo::Role;
 	
 	with 'Attean::API::MutableModel';
diff --git a/lib/Attean/API/MutableModel.pod b/lib/Attean/API/MutableModel.pod
index ca55334..8650e4d 100644
--- a/lib/Attean/API/MutableModel.pod
+++ b/lib/Attean/API/MutableModel.pod
@@ -4,7 +4,7 @@ Attean::API::MutableModel - Role representing mutable models
 
 =head1 VERSION
 
-This document describes Attean::API::MutableModel version 0.017
+This document describes Attean::API::MutableModel version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/MutableTripleStore.pod b/lib/Attean/API/MutableTripleStore.pod
index e473359..324f64a 100644
--- a/lib/Attean/API/MutableTripleStore.pod
+++ b/lib/Attean/API/MutableTripleStore.pod
@@ -4,7 +4,7 @@ Attean::API::MutableTripleStore - Role representing mutable triple stores
 
 =head1 VERSION
 
-This document describes Attean::API::MutableTripleStore version 0.017
+This document describes Attean::API::MutableTripleStore version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/Parser.pm b/lib/Attean/API/Parser.pm
index 49db3e7..0527449 100644
--- a/lib/Attean/API/Parser.pm
+++ b/lib/Attean/API/Parser.pm
@@ -7,7 +7,7 @@ Attean::API::Parser - Parser role
 
 =head1 VERSION
 
-This document describes Attean::API::Parser version 0.017
+This document describes Attean::API::Parser version 0.018
 
 =head1 DESCRIPTION
 
@@ -52,7 +52,7 @@ parsing.
 
 use Type::Tiny::Role;
 
-package Attean::API::Parser 0.017 {
+package Attean::API::Parser 0.018 {
 	use Types::Standard qw(CodeRef Bool);
 
 	use Moo::Role;
@@ -89,7 +89,7 @@ C<lazy_iris> attribute.
 	}
 }
 
-package Attean::API::AbbreviatingParser 0.017 {
+package Attean::API::AbbreviatingParser 0.018 {
 	use Types::Standard qw(ConsumerOf InstanceOf Maybe);
 	use URI::NamespaceMap;
 	use Scalar::Util qw(blessed);
@@ -101,7 +101,7 @@ package Attean::API::AbbreviatingParser 0.017 {
 	has 'namespaces'	=> (is => 'ro', isa => Maybe[InstanceOf['URI::NamespaceMap']]);
 }
 
-package Attean::API::PushParser 0.017 {
+package Attean::API::PushParser 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Parser';
 
@@ -165,7 +165,7 @@ package Attean::API::PushParser 0.017 {
 	}
 }
 
-package Attean::API::PullParser 0.017 {
+package Attean::API::PullParser 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Parser';
 	
@@ -207,7 +207,7 @@ package Attean::API::PullParser 0.017 {
 	}
 }
 
-package Attean::API::AtOnceParser 0.017 {
+package Attean::API::AtOnceParser 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Parser';
 	
@@ -268,7 +268,7 @@ package Attean::API::AtOnceParser 0.017 {
 	
 }
 
-package Attean::API::TermParser 0.017 {
+package Attean::API::TermParser 0.018 {
 	# Parser returns objects that conform to Attean::API::Term
 	use Moo::Role;
 	with 'Attean::API::Parser';
@@ -278,7 +278,7 @@ package Attean::API::TermParser 0.017 {
 	}
 }
 
-package Attean::API::TripleParser 0.017 {
+package Attean::API::TripleParser 0.018 {
 	# Parser returns objects that conform to Attean::API::Triple
 	use Moo::Role;
 	with 'Attean::API::Parser';
@@ -288,7 +288,7 @@ package Attean::API::TripleParser 0.017 {
 	}
 }
 
-package Attean::API::QuadParser 0.017 {
+package Attean::API::QuadParser 0.018 {
 	# Parser returns objects that conform to Attean::API::Quad
 	use Moo::Role;
 	with 'Attean::API::Parser';
@@ -298,7 +298,7 @@ package Attean::API::QuadParser 0.017 {
 	}
 }
 
-package Attean::API::MixedStatementParser 0.017 {
+package Attean::API::MixedStatementParser 0.018 {
 	# Parser returns objects that conform to either Attean::API::Triple or Attean::API::Quad
 	use Moo::Role;
 	with 'Attean::API::Parser';
@@ -308,7 +308,7 @@ package Attean::API::MixedStatementParser 0.017 {
 	}
 }
 
-package Attean::API::ResultOrTermParser 0.017 {
+package Attean::API::ResultOrTermParser 0.018 {
 	# Parser returns objects that conform to either Attean::API::Result or Attean::API::Term
 	use Moo::Role;
 	with 'Attean::API::Parser';
@@ -318,7 +318,7 @@ package Attean::API::ResultOrTermParser 0.017 {
 	}
 }
 
-package Attean::API::ResultParser 0.017 {
+package Attean::API::ResultParser 0.018 {
 	# Parser returns objects that conform to Attean::API::Result
 	use Moo::Role;
 	with 'Attean::API::Parser';
diff --git a/lib/Attean/API/Plan.pm b/lib/Attean/API/Plan.pm
index 455d569..ab33d85 100644
--- a/lib/Attean/API/Plan.pm
+++ b/lib/Attean/API/Plan.pm
@@ -8,7 +8,7 @@ Attean::API::Plan - Query plan
 
 =head1 VERSION
 
-This document describes Attean::API::Plan version 0.017
+This document describes Attean::API::Plan version 0.018
 
 =head1 DESCRIPTION
 
@@ -53,7 +53,7 @@ L<Attean::API::Iterator> object.
 
 use Type::Tiny::Role;
 
-package Attean::API::Plan 0.017 {
+package Attean::API::Plan 0.018 {
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(ArrayRef CodeRef Str Object InstanceOf Bool Num Int);
 
@@ -207,7 +207,7 @@ product if this plan performs some form of join.
 	}
 }
 
-package Attean::API::BindingSubstitutionPlan 0.017 {
+package Attean::API::BindingSubstitutionPlan 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Plan';
 	requires 'substitute_impl'; # $code = $plan->impl($model, $binding);
@@ -220,7 +220,7 @@ package Attean::API::BindingSubstitutionPlan 0.017 {
 	}
 }
 
-package Attean::API::UnionScopeVariablesPlan 0.017 {
+package Attean::API::UnionScopeVariablesPlan 0.018 {
 	use Moo::Role;
 
 	with 'Attean::API::Plan';
@@ -240,7 +240,7 @@ package Attean::API::UnionScopeVariablesPlan 0.017 {
 	};
 }
 
-package Attean::API::Plan::Join 0.017 {
+package Attean::API::Plan::Join 0.018 {
 	use Types::Standard qw(CodeRef);
 	use Types::Standard qw(ArrayRef Str ConsumerOf Bool);
 
diff --git a/lib/Attean/API/PullParser.pod b/lib/Attean/API/PullParser.pod
index 20e7714..fe5c39a 100644
--- a/lib/Attean/API/PullParser.pod
+++ b/lib/Attean/API/PullParser.pod
@@ -4,7 +4,7 @@ Attean::API::PullParser - Role for parsers that natively return an iterator
 
 =head1 VERSION
 
-This document describes Attean::API::PullParser version 0.017
+This document describes Attean::API::PullParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/PushParser.pod b/lib/Attean/API/PushParser.pod
index 1b354a9..c436cad 100644
--- a/lib/Attean/API/PushParser.pod
+++ b/lib/Attean/API/PushParser.pod
@@ -4,7 +4,7 @@ Attean::API::PushParser - Role for parsers that natively call a callback functio
 
 =head1 VERSION
 
-This document describes Attean::API::PushParser version 0.017
+This document describes Attean::API::PushParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Quad.pod b/lib/Attean/API/Quad.pod
index 5d2f7ad..f26e1ec 100644
--- a/lib/Attean/API/Quad.pod
+++ b/lib/Attean/API/Quad.pod
@@ -4,7 +4,7 @@ Attean::API::Quad - Role representing quads
 
 =head1 VERSION
 
-This document describes Attean::API::Quad version 0.017
+This document describes Attean::API::Quad version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/QuadParser.pod b/lib/Attean/API/QuadParser.pod
index dc080ec..3874192 100644
--- a/lib/Attean/API/QuadParser.pod
+++ b/lib/Attean/API/QuadParser.pod
@@ -4,7 +4,7 @@ Attean::API::QuadParser - Role for parsers of L<Attean::API::Quad> objects
 
 =head1 VERSION
 
-This document describes Attean::API::QuadParser version 0.017
+This document describes Attean::API::QuadParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/QuadPattern.pod b/lib/Attean/API/QuadPattern.pod
index 70b7f7e..7ad59f7 100644
--- a/lib/Attean/API/QuadPattern.pod
+++ b/lib/Attean/API/QuadPattern.pod
@@ -4,7 +4,7 @@ Attean::API::QuadPattern - Role representing quad patterns
 
 =head1 VERSION
 
-This document describes Attean::API::QuadPattern version 0.017
+This document describes Attean::API::QuadPattern version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/QuadSerializer.pod b/lib/Attean/API/QuadSerializer.pod
index f99fa6f..8145c48 100644
--- a/lib/Attean/API/QuadSerializer.pod
+++ b/lib/Attean/API/QuadSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::QuadSerializer - Role for serializers of L<Attean::API::Quad> objec
 
 =head1 VERSION
 
-This document describes Attean::API::QuadSerializer version 0.017
+This document describes Attean::API::QuadSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Query.pm b/lib/Attean/API/Query.pm
index 1e88a93..8496f57 100644
--- a/lib/Attean/API/Query.pm
+++ b/lib/Attean/API/Query.pm
@@ -7,7 +7,7 @@ Attean::API::Query - Utility package defining query-related roles
 
 =head1 VERSION
 
-This document describes Attean::API::Query version 0.017
+This document describes Attean::API::Query version 0.018
 
 =head1 SYNOPSIS
 
@@ -24,7 +24,7 @@ This is a utility package for defining query-related roles:
 
 =cut
 
-package Attean::API::DirectedAcyclicGraph 0.017 {
+package Attean::API::DirectedAcyclicGraph 0.018 {
 	use Scalar::Util qw(refaddr);
 	use Types::Standard qw(ArrayRef ConsumerOf);
 
@@ -149,7 +149,7 @@ package Attean::API::DirectedAcyclicGraph 0.017 {
 	}
 }
 
-package Attean::API::SPARQLSerializable 0.017 {
+package Attean::API::SPARQLSerializable 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Encode qw(decode_utf8);
@@ -402,7 +402,7 @@ package Attean::API::SPARQLSerializable 0.017 {
 	}
 }
 
-package Attean::API::SPARQLQuerySerializable 0.017 {
+package Attean::API::SPARQLQuerySerializable 0.018 {
 	use Moo::Role;
 	use namespace::clean;
 	with 'Attean::API::SPARQLSerializable';
@@ -417,7 +417,7 @@ package Attean::API::SPARQLQuerySerializable 0.017 {
 
 =cut
 
-package Attean::API::Algebra 0.017 {
+package Attean::API::Algebra 0.018 {
 	use Moo::Role;
 
 	with 'Attean::API::SPARQLSerializable';
@@ -494,7 +494,7 @@ package Attean::API::Algebra 0.017 {
 
 =cut
 
-package Attean::API::QueryTree 0.017 {
+package Attean::API::QueryTree 0.018 {
 	use Moo::Role;
 	with 'Attean::API::DirectedAcyclicGraph';
 }
@@ -503,7 +503,7 @@ package Attean::API::QueryTree 0.017 {
 
 =cut
 
-package Attean::API::NullaryQueryTree 0.017 {
+package Attean::API::NullaryQueryTree 0.018 {
 	use Moo::Role;
 	sub arity { return 0 }
 	with 'Attean::API::QueryTree';
@@ -513,7 +513,7 @@ package Attean::API::NullaryQueryTree 0.017 {
 
 =cut
 
-package Attean::API::UnaryQueryTree 0.017 {
+package Attean::API::UnaryQueryTree 0.018 {
 	use Moo::Role;
 	sub arity { return 1 }
 	with 'Attean::API::QueryTree';
@@ -528,7 +528,7 @@ package Attean::API::UnaryQueryTree 0.017 {
 
 =cut
 
-package Attean::API::BinaryQueryTree 0.017 {
+package Attean::API::BinaryQueryTree 0.018 {
 	use Moo::Role;
 	sub arity { return 2 }
 	with 'Attean::API::QueryTree';
@@ -538,7 +538,7 @@ package Attean::API::BinaryQueryTree 0.017 {
 
 =cut
 
-package Attean::API::PropertyPath 0.017 {
+package Attean::API::PropertyPath 0.018 {
 	use Moo::Role;
 	with 'Attean::API::QueryTree';
 	requires 'as_string';
@@ -549,7 +549,7 @@ package Attean::API::PropertyPath 0.017 {
 
 =cut
 
-package Attean::API::UnaryPropertyPath 0.017 {
+package Attean::API::UnaryPropertyPath 0.018 {
 	use Types::Standard qw(ConsumerOf);
 
 	use Moo::Role;
@@ -579,7 +579,7 @@ package Attean::API::UnaryPropertyPath 0.017 {
 
 =cut
 
-package Attean::API::NaryPropertyPath 0.017 {
+package Attean::API::NaryPropertyPath 0.018 {
 	use Types::Standard qw(ArrayRef ConsumerOf);
 
 	use Moo::Role;
@@ -606,7 +606,7 @@ package Attean::API::NaryPropertyPath 0.017 {
 
 =cut
 
-package Attean::API::UnionScopeVariables 0.017 {
+package Attean::API::UnionScopeVariables 0.018 {
 	use Moo::Role;
 	sub in_scope_variables {
 		my $self	= shift;
@@ -622,7 +622,7 @@ package Attean::API::UnionScopeVariables 0.017 {
 
 =cut
 
-package Attean::API::IntersectionScopeVariables 0.017 {
+package Attean::API::IntersectionScopeVariables 0.018 {
 	use Moo::Role;
 	sub in_scope_variables {
 		my $self	= shift;
diff --git a/lib/Attean/API/QueryPlanner.pm b/lib/Attean/API/QueryPlanner.pm
index 04a5c7d..bfad10b 100644
--- a/lib/Attean/API/QueryPlanner.pm
+++ b/lib/Attean/API/QueryPlanner.pm
@@ -7,7 +7,7 @@ Attean::API::IDPJoinPlanner - Iterative dynamic programming query planning role
 
 =head1 VERSION
 
-This document describes Attean::API::IDPJoinPlanner version 0.017
+This document describes Attean::API::IDPJoinPlanner version 0.018
 
 =head1 SYNOPSIS
 
@@ -32,7 +32,7 @@ methods that consume the L<Attean::API::CostPlanner> role.
 
 =cut
 
-package Attean::API::QueryPlanner 0.017 {
+package Attean::API::QueryPlanner 0.018 {
 	use Types::Standard qw(CodeRef);
 
 	use Moo::Role;
@@ -40,7 +40,7 @@ package Attean::API::QueryPlanner 0.017 {
 	requires 'plan_for_algebra'; # plan_for_algebra($algebra, $model, \@default_graphs)
 }
 
-package Attean::API::CostPlanner 0.017 {
+package Attean::API::CostPlanner 0.018 {
 	use Scalar::Util qw(refaddr);
 	use Types::Standard qw(CodeRef);
 
@@ -75,12 +75,12 @@ package Attean::API::CostPlanner 0.017 {
 	}
 }
 
-package Attean::API::JoinPlanner 0.017 {
+package Attean::API::JoinPlanner 0.018 {
 	use Moo::Role;
 	requires 'joins_for_plan_alternatives';
 }
 
-package Attean::API::NaiveJoinPlanner 0.017 {
+package Attean::API::NaiveJoinPlanner 0.018 {
 	use Math::Cartesian::Product;
 
 	use Moo::Role;
@@ -108,7 +108,7 @@ package Attean::API::NaiveJoinPlanner 0.017 {
 	}
 }
 
-package Attean::API::SimpleCostPlanner 0.017 {
+package Attean::API::SimpleCostPlanner 0.018 {
 	use Types::Standard qw(Int);
 	use Scalar::Util qw(blessed);
 
@@ -213,7 +213,7 @@ package Attean::API::SimpleCostPlanner 0.017 {
 	}
 }
 
-package Attean::API::IDPJoinPlanner 0.017 {
+package Attean::API::IDPJoinPlanner 0.018 {
 	use Encode qw(encode);
 	use Attean::RDF;
 	use LWP::UserAgent;
diff --git a/lib/Attean/API/RepeatableIterator.pod b/lib/Attean/API/RepeatableIterator.pod
index 42e3e9a..2c3a410 100644
--- a/lib/Attean/API/RepeatableIterator.pod
+++ b/lib/Attean/API/RepeatableIterator.pod
@@ -4,7 +4,7 @@ Attean::API::RepeatableIterator - Role representing iterators that may be reset
 
 =head1 VERSION
 
-This document describes Attean::API::RepeatableIterator version 0.017
+This document describes Attean::API::RepeatableIterator version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/Result.pod b/lib/Attean/API/Result.pod
index 0c9c0f0..a3ff81c 100644
--- a/lib/Attean/API/Result.pod
+++ b/lib/Attean/API/Result.pod
@@ -4,7 +4,7 @@ Attean::API::Result - Role representing a set of variable bindings
 
 =head1 VERSION
 
-This document describes Attean::API::Result version 0.017
+This document describes Attean::API::Result version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/ResultParser.pod b/lib/Attean/API/ResultParser.pod
index 59b0ffa..2b91796 100644
--- a/lib/Attean/API/ResultParser.pod
+++ b/lib/Attean/API/ResultParser.pod
@@ -4,7 +4,7 @@ Attean::API::ResultParser - Role for parsers of L<Attean::API::Result> objects
 
 =head1 VERSION
 
-This document describes Attean::API::ResultParser version 0.017
+This document describes Attean::API::ResultParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/ResultSerializer.pod b/lib/Attean/API/ResultSerializer.pod
index c8dd9bd..1eab2bd 100644
--- a/lib/Attean/API/ResultSerializer.pod
+++ b/lib/Attean/API/ResultSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::ResultSerializer - Role for serializers of L<Attean::API::Result> o
 
 =head1 VERSION
 
-This document describes Attean::API::ResultSerializer version 0.017
+This document describes Attean::API::ResultSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Serializer.pm b/lib/Attean/API/Serializer.pm
index 3de1af4..09aaacb 100644
--- a/lib/Attean/API/Serializer.pm
+++ b/lib/Attean/API/Serializer.pm
@@ -7,7 +7,7 @@ Attean::API::Serializer - Serializer role
 
 =head1 VERSION
 
-This document describes Attean::API::Serializer version 0.017
+This document describes Attean::API::Serializer version 0.018
 
 =head1 DESCRIPTION
 
@@ -68,7 +68,7 @@ UTF-8 encoded byte string.
 
 use Type::Tiny;
 
-package Attean::API::Serializer 0.017 {
+package Attean::API::Serializer 0.018 {
 	use Moo::Role;
 	use Carp qw(confess);
 	
@@ -105,7 +105,7 @@ package Attean::API::Serializer 0.017 {
 	}
 }
 
-package Attean::API::AbbreviatingSerializer 0.017 {
+package Attean::API::AbbreviatingSerializer 0.018 {
 	# Serializer that can make use of a base IRI and/or prefix IRI mappings
 	use Types::Standard qw(InstanceOf ConsumerOf Maybe);
 
@@ -117,13 +117,13 @@ package Attean::API::AbbreviatingSerializer 0.017 {
 	has namespaces	=> (is => 'ro', isa => Maybe[InstanceOf['URI::NamespaceMap']], predicate => 'has_namespaces');
 }
 
-package Attean::API::AppendableSerializer 0.017 {
+package Attean::API::AppendableSerializer 0.018 {
 	# Serializer for a format that allows multiple serialization calls to be appended and remain syntactically valid
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 }
 
-package Attean::API::TermSerializer 0.017 {
+package Attean::API::TermSerializer 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 	sub handled_type {
@@ -132,7 +132,7 @@ package Attean::API::TermSerializer 0.017 {
 	}
 }
 
-package Attean::API::TripleSerializer 0.017 {
+package Attean::API::TripleSerializer 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 	sub handled_type {
@@ -141,7 +141,7 @@ package Attean::API::TripleSerializer 0.017 {
 	}
 }
 
-package Attean::API::QuadSerializer 0.017 {
+package Attean::API::QuadSerializer 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 	
@@ -151,7 +151,7 @@ package Attean::API::QuadSerializer 0.017 {
 	}
 }
 
-package Attean::API::MixedStatementSerializer 0.017 {
+package Attean::API::MixedStatementSerializer 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 	
@@ -161,7 +161,7 @@ package Attean::API::MixedStatementSerializer 0.017 {
 	}
 }
 
-package Attean::API::ResultSerializer 0.017 {
+package Attean::API::ResultSerializer 0.018 {
 	use Moo::Role;
 	with 'Attean::API::Serializer';
 	sub handled_type {
diff --git a/lib/Attean/API/Store.pm b/lib/Attean/API/Store.pm
index 300096f..f0752b6 100644
--- a/lib/Attean/API/Store.pm
+++ b/lib/Attean/API/Store.pm
@@ -7,7 +7,7 @@ Attean::API::Store - Triple/quad store role
 
 =head1 VERSION
 
-This document describes Attean::Store version 0.017
+This document describes Attean::Store version 0.018
 
 =head1 DESCRIPTION
 
@@ -35,11 +35,11 @@ The Attean::Store role is an empty role that more specialized roles conform to:
 
 =cut
 
-package Attean::API::Store 0.017 {
+package Attean::API::Store 0.018 {
 	use Moo::Role;
 }
 
-package Attean::API::TripleStore 0.017 {
+package Attean::API::TripleStore 0.018 {
 	use Scalar::Util qw(blessed);
 
 	use Moo::Role;
@@ -76,7 +76,7 @@ package Attean::API::TripleStore 0.017 {
 	}
 }
 
-package Attean::API::MutableTripleStore 0.017 {
+package Attean::API::MutableTripleStore 0.018 {
 	use Moo::Role;
 	with 'Attean::API::TripleStore';
 	
@@ -92,21 +92,21 @@ package Attean::API::MutableTripleStore 0.017 {
 	};
 }
 
-package Attean::API::ETagCacheableTripleStore 0.017 {
+package Attean::API::ETagCacheableTripleStore 0.018 {
 	use Moo::Role;
 	with 'Attean::API::TripleStore';
 	
 	requires 'etag_value_for_triples';
 }
 
-package Attean::API::TimeCacheableTripleStore 0.017 {
+package Attean::API::TimeCacheableTripleStore 0.018 {
 	use Moo::Role;
 	with 'Attean::API::TripleStore';
 	
 	requires 'mtime_for_triples';
 }
 
-package Attean::API::QuadStore 0.017 {
+package Attean::API::QuadStore 0.018 {
 	use Scalar::Util qw(blessed);
 
 	use Moo::Role;
@@ -154,7 +154,7 @@ package Attean::API::QuadStore 0.017 {
 	}
 }
 
-package Attean::API::MutableQuadStore 0.017 {
+package Attean::API::MutableQuadStore 0.018 {
 	use Moo::Role;
 	use Type::Tiny::Role;
 	with 'Attean::API::QuadStore';
@@ -185,7 +185,7 @@ package Attean::API::MutableQuadStore 0.017 {
 	}
 }
 
-package Attean::API::ETagCacheableQuadStore 0.017 {
+package Attean::API::ETagCacheableQuadStore 0.018 {
 	use Moo::Role;
 
 	with 'Attean::API::QuadStore';
@@ -193,7 +193,7 @@ package Attean::API::ETagCacheableQuadStore 0.017 {
 	requires 'etag_value_for_quads';
 }
 
-package Attean::API::TimeCacheableQuadStore 0.017 {
+package Attean::API::TimeCacheableQuadStore 0.018 {
 	use Moo::Role;
 
 	with 'Attean::API::QuadStore';
@@ -201,7 +201,7 @@ package Attean::API::TimeCacheableQuadStore 0.017 {
 	requires 'mtime_for_quads';
 }
 
-package Attean::API::BulkUpdatableStore 0.017 {
+package Attean::API::BulkUpdatableStore 0.018 {
 	use Moo::Role;
 	
 	requires 'begin_bulk_updates';
diff --git a/lib/Attean/API/Term.pm b/lib/Attean/API/Term.pm
index bdaefea..7f1773d 100644
--- a/lib/Attean/API/Term.pm
+++ b/lib/Attean/API/Term.pm
@@ -7,7 +7,7 @@ Attean::API::Term - RDF Terms
 
 =head1 VERSION
 
-This document describes Attean::API::Term version 0.017
+This document describes Attean::API::Term version 0.018
 
 =head1 DESCRIPTION
 
@@ -41,7 +41,7 @@ Returns a string serialization of the term.
 
 =cut
 
-package Attean::API::Term 0.017 {
+package Attean::API::Term 0.018 {
 	use Moo::Role;
 	
 	with 'Attean::API::TermOrVariable', 'Attean::API::ResultOrTerm';
@@ -105,7 +105,7 @@ Returns true if the term has a true SPARQL "effective boolean value", false othe
 	}
 }
 
-package Attean::API::Literal 0.017 {
+package Attean::API::Literal 0.018 {
 	use IRI;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(Maybe Str ConsumerOf);
@@ -289,7 +289,7 @@ package Attean::API::Literal 0.017 {
 	};
 }
 
-package Attean::API::DateTimeLiteral 0.017 {
+package Attean::API::DateTimeLiteral 0.018 {
 	use DateTime::Format::W3CDTF;
 
 	use Moo::Role;
@@ -301,12 +301,12 @@ package Attean::API::DateTimeLiteral 0.017 {
 	}
 }
 
-package Attean::API::CanonicalizingLiteral 0.017 {
+package Attean::API::CanonicalizingLiteral 0.018 {
 	use Moo::Role;
 	requires 'canonicalized_term';
 }
 
-package Attean::API::NumericLiteral 0.017 {
+package Attean::API::NumericLiteral 0.018 {
 	use Scalar::Util qw(blessed looks_like_number);
 
 	use Moo::Role;
@@ -497,7 +497,7 @@ package Attean::API::NumericLiteral 0.017 {
 	with 'Attean::API::Literal', 'Attean::API::CanonicalizingLiteral';
 }
 
-package Attean::API::Blank 0.017 {
+package Attean::API::Blank 0.018 {
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -523,7 +523,7 @@ package Attean::API::Blank 0.017 {
 	}
 }
 
-package Attean::API::IRI 0.017 {
+package Attean::API::IRI 0.018 {
 	use IRI;
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
diff --git a/lib/Attean/API/TermOrVariable.pod b/lib/Attean/API/TermOrVariable.pod
index 6b518fd..01e39df 100644
--- a/lib/Attean/API/TermOrVariable.pod
+++ b/lib/Attean/API/TermOrVariable.pod
@@ -4,7 +4,7 @@ Attean::API::TermOrVariable - Role representing terms and variables
 
 =head1 VERSION
 
-This document describes Attean::API::TermOrVariable version 0.017
+This document describes Attean::API::TermOrVariable version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/TermParser.pod b/lib/Attean/API/TermParser.pod
index 39baec4..1d32ba4 100644
--- a/lib/Attean/API/TermParser.pod
+++ b/lib/Attean/API/TermParser.pod
@@ -4,7 +4,7 @@ Attean::API::TermParser - Role for parsers of L<Attean::API::Term> objects
 
 =head1 VERSION
 
-This document describes Attean::API::TermParser version 0.017
+This document describes Attean::API::TermParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/TermSerializer.pod b/lib/Attean/API/TermSerializer.pod
index a9568c6..d85cc9e 100644
--- a/lib/Attean/API/TermSerializer.pod
+++ b/lib/Attean/API/TermSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::TermSerializer - Role for serializers of L<Attean::API::Term> objec
 
 =head1 VERSION
 
-This document describes Attean::API::TermSerializer version 0.017
+This document describes Attean::API::TermSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Triple.pod b/lib/Attean/API/Triple.pod
index 4dbee88..fc36864 100644
--- a/lib/Attean/API/Triple.pod
+++ b/lib/Attean/API/Triple.pod
@@ -4,7 +4,7 @@ Attean::API::Triple - Role representing triples
 
 =head1 VERSION
 
-This document describes Attean::API::Triple version 0.017
+This document describes Attean::API::Triple version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/TripleOrQuad.pod b/lib/Attean/API/TripleOrQuad.pod
index 34a8fc3..37fd45a 100644
--- a/lib/Attean/API/TripleOrQuad.pod
+++ b/lib/Attean/API/TripleOrQuad.pod
@@ -4,7 +4,7 @@ Attean::API::TripleOrQuad - Role representing triples and quads
 
 =head1 VERSION
 
-This document describes Attean::API::TripleOrQuad version 0.017
+This document describes Attean::API::TripleOrQuad version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/TripleParser.pod b/lib/Attean/API/TripleParser.pod
index fba7bfd..55fa3ce 100644
--- a/lib/Attean/API/TripleParser.pod
+++ b/lib/Attean/API/TripleParser.pod
@@ -4,7 +4,7 @@ Attean::API::TripleParser - Role for parsers of L<Attean::API::Triple> objects
 
 =head1 VERSION
 
-This document describes Attean::API::TripleParser version 0.017
+This document describes Attean::API::TripleParser version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/TriplePattern.pod b/lib/Attean/API/TriplePattern.pod
index 54373f2..1d0edfe 100644
--- a/lib/Attean/API/TriplePattern.pod
+++ b/lib/Attean/API/TriplePattern.pod
@@ -4,7 +4,7 @@ Attean::API::TriplePattern - Role representing triple patterns
 
 =head1 VERSION
 
-This document describes Attean::API::TriplePattern version 0.017
+This document describes Attean::API::TriplePattern version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/API/TripleSerializer.pod b/lib/Attean/API/TripleSerializer.pod
index e2386f1..fa58432 100644
--- a/lib/Attean/API/TripleSerializer.pod
+++ b/lib/Attean/API/TripleSerializer.pod
@@ -4,7 +4,7 @@ Attean::API::TripleSerializer - Role for serializers of L<Attean::API::Triple> o
 
 =head1 VERSION
 
-This document describes Attean::API::TripleSerializer version 0.017
+This document describes Attean::API::TripleSerializer version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/API/Variable.pod b/lib/Attean/API/Variable.pod
index 5356b1a..b7818e1 100644
--- a/lib/Attean/API/Variable.pod
+++ b/lib/Attean/API/Variable.pod
@@ -4,7 +4,7 @@ Attean::API::Variable - Role representing term variables
 
 =head1 VERSION
 
-This document describes Attean::API::Variable version 0.017
+This document describes Attean::API::Variable version 0.018
 
 =head1 SYNOPSIS
 
diff --git a/lib/Attean/AggregateExpression.pod b/lib/Attean/AggregateExpression.pod
index d618123..28cd4f3 100644
--- a/lib/Attean/AggregateExpression.pod
+++ b/lib/Attean/AggregateExpression.pod
@@ -4,7 +4,7 @@ Attean::AggregateExpression - Representation of aggregate expression trees
 
 =head1 VERSION
 
-This document describes Attean::AggregateExpression version 0.017
+This document describes Attean::AggregateExpression version 0.018
 
 =head1 DESCRIPTION
 
diff --git a/lib/Attean/Algebra.pm b/lib/Attean/Algebra.pm
index e41b875..fd78461 100644
--- a/lib/Attean/Algebra.pm
+++ b/lib/Attean/Algebra.pm
@@ -8,7 +8,7 @@ Attean::Algebra - Representation of SPARQL algebra operators
 
 =head1 VERSION
 
-This document describes Attean::Algebra version 0.017
+This document describes Attean::Algebra version 0.018
 
 =head1 SYNOPSIS
 
@@ -26,7 +26,7 @@ in the Attean::Algebra namespace:
 
 use Attean::API::Query;
 
-package Attean::Algebra::Query 0.017 {
+package Attean::Algebra::Query 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Types::Standard qw(Bool ArrayRef HashRef ConsumerOf);
@@ -120,7 +120,7 @@ package Attean::Algebra::Query 0.017 {
 	}
 }
 
-package Attean::Algebra::Update 0.017 {
+package Attean::Algebra::Update 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Types::Standard qw(Bool);
@@ -142,7 +142,7 @@ package Attean::Algebra::Update 0.017 {
 
 =cut
 
-package Attean::Algebra::Sequence 0.017 {
+package Attean::Algebra::Sequence 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -175,7 +175,7 @@ package Attean::Algebra::Sequence 0.017 {
 
 =cut
 
-package Attean::Algebra::Join 0.017 {
+package Attean::Algebra::Join 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -204,7 +204,7 @@ package Attean::Algebra::Join 0.017 {
 
 =cut
 
-package Attean::Algebra::LeftJoin 0.017 {
+package Attean::Algebra::LeftJoin 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -261,7 +261,7 @@ package Attean::Algebra::LeftJoin 0.017 {
 
 =cut
 
-package Attean::Algebra::Filter 0.017 {
+package Attean::Algebra::Filter 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -297,7 +297,7 @@ package Attean::Algebra::Filter 0.017 {
 
 =cut
 
-package Attean::Algebra::Union 0.017 {
+package Attean::Algebra::Union 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -328,7 +328,7 @@ package Attean::Algebra::Union 0.017 {
 
 =cut
 
-package Attean::Algebra::Graph 0.017 {
+package Attean::Algebra::Graph 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -376,7 +376,7 @@ package Attean::Algebra::Graph 0.017 {
 
 =cut
 
-package Attean::Algebra::Extend 0.017 {
+package Attean::Algebra::Extend 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -425,7 +425,7 @@ package Attean::Algebra::Extend 0.017 {
 
 =cut
 
-package Attean::Algebra::Minus 0.017 {
+package Attean::Algebra::Minus 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -463,7 +463,7 @@ package Attean::Algebra::Minus 0.017 {
 
 =cut
 
-package Attean::Algebra::Distinct 0.017 {
+package Attean::Algebra::Distinct 0.018 {
 	use Moo;
 	use namespace::clean;
 
@@ -477,7 +477,7 @@ package Attean::Algebra::Distinct 0.017 {
 
 =cut
 
-package Attean::Algebra::Reduced 0.017 {
+package Attean::Algebra::Reduced 0.018 {
 	use Moo;
 	use namespace::clean;
 
@@ -491,7 +491,7 @@ package Attean::Algebra::Reduced 0.017 {
 
 =cut
 
-package Attean::Algebra::Slice 0.017 {
+package Attean::Algebra::Slice 0.018 {
 	use Moo;
 	use Types::Standard qw(Int);
 	use namespace::clean;
@@ -514,7 +514,7 @@ package Attean::Algebra::Slice 0.017 {
 
 =cut
 
-package Attean::Algebra::Project 0.017 {
+package Attean::Algebra::Project 0.018 {
 	use Types::Standard qw(ArrayRef ConsumerOf);
 	use Moo;
 	use namespace::clean;
@@ -542,7 +542,7 @@ package Attean::Algebra::Project 0.017 {
 
 =cut
 
-package Attean::Algebra::Comparator 0.017 {
+package Attean::Algebra::Comparator 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -586,7 +586,7 @@ package Attean::Algebra::Comparator 0.017 {
 
 =cut
 
-package Attean::Algebra::OrderBy 0.017 {
+package Attean::Algebra::OrderBy 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -609,7 +609,7 @@ package Attean::Algebra::OrderBy 0.017 {
 
 =cut
 
-package Attean::Algebra::BGP 0.017 {
+package Attean::Algebra::BGP 0.018 {
 	use Moo;
 	use Attean::RDF;
 	use Set::Scalar;
@@ -679,7 +679,7 @@ package Attean::Algebra::BGP 0.017 {
 
 =cut
 
-package Attean::Algebra::Service 0.017 {
+package Attean::Algebra::Service 0.018 {
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
 	use Moo;
@@ -724,7 +724,7 @@ package Attean::Algebra::Service 0.017 {
 
 =cut
 
-package Attean::Algebra::Path 0.017 {
+package Attean::Algebra::Path 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -764,7 +764,7 @@ package Attean::Algebra::Path 0.017 {
 
 =cut
 
-package Attean::Algebra::Group 0.017 {
+package Attean::Algebra::Group 0.018 {
 	use utf8;
 	use Moo;
 	use Attean::API::Query;
@@ -834,7 +834,7 @@ package Attean::Algebra::Group 0.017 {
 
 =cut
 
-package Attean::Algebra::NegatedPropertySet 0.017 {
+package Attean::Algebra::NegatedPropertySet 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -879,7 +879,7 @@ package Attean::Algebra::NegatedPropertySet 0.017 {
 
 =cut
 
-package Attean::Algebra::PredicatePath 0.017 {
+package Attean::Algebra::PredicatePath 0.018 {
 	use Moo;
 	use Types::Standard qw(ConsumerOf);
 	use namespace::clean;
@@ -912,7 +912,7 @@ package Attean::Algebra::PredicatePath 0.017 {
 
 =cut
 
-package Attean::Algebra::InversePath 0.017 {
+package Attean::Algebra::InversePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -954,7 +954,7 @@ package Attean::Algebra::InversePath 0.017 {
 
 =cut
 
-package Attean::Algebra::SequencePath 0.017 {
+package Attean::Algebra::SequencePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -987,7 +987,7 @@ package Attean::Algebra::SequencePath 0.017 {
 
 =cut
 
-package Attean::Algebra::AlternativePath 0.017 {
+package Attean::Algebra::AlternativePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1020,7 +1020,7 @@ package Attean::Algebra::AlternativePath 0.017 {
 
 =cut
 
-package Attean::Algebra::ZeroOrMorePath 0.017 {
+package Attean::Algebra::ZeroOrMorePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1061,7 +1061,7 @@ package Attean::Algebra::ZeroOrMorePath 0.017 {
 
 =cut
 
-package Attean::Algebra::OneOrMorePath 0.017 {
+package Attean::Algebra::OneOrMorePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1102,7 +1102,7 @@ package Attean::Algebra::OneOrMorePath 0.017 {
 
 =cut
 
-package Attean::Algebra::ZeroOrOnePath 0.017 {
+package Attean::Algebra::ZeroOrOnePath 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1143,7 +1143,7 @@ package Attean::Algebra::ZeroOrOnePath 0.017 {
 
 =cut
 
-package Attean::Algebra::Table 0.017 {
+package Attean::Algebra::Table 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1197,7 +1197,7 @@ package Attean::Algebra::Table 0.017 {
 
 =cut
 
-package Attean::Algebra::Ask 0.017 {
+package Attean::Algebra::Ask 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1215,7 +1215,7 @@ package Attean::Algebra::Ask 0.017 {
 
 =cut
 
-package Attean::Algebra::Construct 0.017 {
+package Attean::Algebra::Construct 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1240,7 +1240,7 @@ package Attean::Algebra::Construct 0.017 {
 
 =cut
 
-package Attean::Algebra::Describe 0.017 {
+package Attean::Algebra::Describe 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1261,7 +1261,7 @@ package Attean::Algebra::Describe 0.017 {
 
 =cut
 
-package Attean::Algebra::Load 0.017 {
+package Attean::Algebra::Load 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -1304,7 +1304,7 @@ package Attean::Algebra::Load 0.017 {
 
 =cut
 
-package Attean::Algebra::Clear 0.017 {
+package Attean::Algebra::Clear 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
@@ -1358,7 +1358,7 @@ package Attean::Algebra::Clear 0.017 {
 
 =cut
 
-package Attean::Algebra::Create 0.017 {
+package Attean::Algebra::Create 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
@@ -1393,7 +1393,7 @@ package Attean::Algebra::Create 0.017 {
 
 =cut
 
-package Attean::Algebra::Add 0.017 {
+package Attean::Algebra::Add 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
@@ -1451,7 +1451,7 @@ package Attean::Algebra::Add 0.017 {
 
 =cut
 
-package Attean::Algebra::Modify 0.017 {
+package Attean::Algebra::Modify 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use AtteanX::SPARQL::Constants;
diff --git a/lib/Attean/BindingEqualityTest.pm b/lib/Attean/BindingEqualityTest.pm
index 6bb009c..639226c 100644
--- a/lib/Attean/BindingEqualityTest.pm
+++ b/lib/Attean/BindingEqualityTest.pm
@@ -7,7 +7,7 @@ Attean::BindingEqualityTest - Test for equality of binding sets with bnode isomo
 
 =head1 VERSION
 
-This document describes Attean::BindingEqualityTest version 0.017
+This document describes Attean::BindingEqualityTest version 0.018
 
 =head1 SYNOPSIS
 
@@ -28,7 +28,7 @@ This document describes Attean::BindingEqualityTest version 0.017
 
 =cut
 
-package Attean::BindingEqualityTest 0.017 {
+package Attean::BindingEqualityTest 0.018 {
 	use v5.14;
 	use warnings;
 	use Moo;
diff --git a/lib/Attean/Blank.pm b/lib/Attean/Blank.pm
index 6133948..471a14b 100644
--- a/lib/Attean/Blank.pm
+++ b/lib/Attean/Blank.pm
@@ -7,7 +7,7 @@ Attean::Blank - RDF blank nodes
 
 =head1 VERSION
 
-This document describes Attean::Blank version 0.017
+This document describes Attean::Blank version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This role consumes L<Attean::API::Blank>, which provides the following methods:
 
 =cut
 
-package Attean::Blank 0.017 {
+package Attean::Blank 0.018 {
 	use Moo;
 	use Types::Standard qw(Str);
 	use Data::UUID;
diff --git a/lib/Attean/CodeIterator.pm b/lib/Attean/CodeIterator.pm
index 6d117db..2130099 100644
--- a/lib/Attean/CodeIterator.pm
+++ b/lib/Attean/CodeIterator.pm
@@ -7,7 +7,7 @@ Attean::CodeIterator - Iterator implementation backed by a generator function
 
 =head1 VERSION
 
-This document describes Attean::CodeIterator version 0.017
+This document describes Attean::CodeIterator version 0.018
 
 =head1 SYNOPSIS
 
@@ -52,7 +52,7 @@ that will be returned from the iterator.
 
 =cut
 
-package Attean::CodeIterator 0.017 {
+package Attean::CodeIterator 0.018 {
 	use Moo;
 	use Type::Tiny::Role;
 	use Scalar::Util qw(blessed);
diff --git a/lib/Attean/Expression.pm b/lib/Attean/Expression.pm
index 67b1ee7..b973edb 100644
--- a/lib/Attean/Expression.pm
+++ b/lib/Attean/Expression.pm
@@ -7,7 +7,7 @@ Attean::Expression - SPARQL Expressions
 
 =head1 VERSION
 
-This document describes Attean::Expression version 0.017
+This document describes Attean::Expression version 0.018
 
 =head1 SYNOPSIS
 
@@ -40,7 +40,7 @@ use Attean::API::Expression;
 
 =cut
 
-package Attean::ValueExpression 0.017 {
+package Attean::ValueExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(ConsumerOf);
 	use AtteanX::SPARQL::Constants;
@@ -101,7 +101,7 @@ package Attean::ValueExpression 0.017 {
 
 =cut
 
-package Attean::UnaryExpression 0.017 {
+package Attean::UnaryExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(Enum);
 	use namespace::clean;
@@ -138,7 +138,7 @@ package Attean::UnaryExpression 0.017 {
 
 =cut
 
-package Attean::BinaryExpression 0.017 {
+package Attean::BinaryExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(Enum);
 	use namespace::clean;
@@ -166,7 +166,7 @@ package Attean::BinaryExpression 0.017 {
 
 =cut
 
-package Attean::FunctionExpression 0.017 {
+package Attean::FunctionExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(Enum ConsumerOf HashRef);
 	use Types::Common::String qw(UpperCaseStr);
@@ -230,7 +230,7 @@ package Attean::FunctionExpression 0.017 {
 	}
 }
 
-package Attean::AggregateExpression 0.017 {
+package Attean::AggregateExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(Bool Enum Str HashRef ConsumerOf);
 	use Types::Common::String qw(UpperCaseStr);
@@ -298,7 +298,7 @@ package Attean::AggregateExpression 0.017 {
 	}
 }
 
-package Attean::CastExpression 0.017 {
+package Attean::CastExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(Enum ConsumerOf);
 	use AtteanX::SPARQL::Constants;
@@ -350,7 +350,7 @@ package Attean::CastExpression 0.017 {
 	}
 }
 
-package Attean::ExistsExpression 0.017 {
+package Attean::ExistsExpression 0.018 {
 	use Moo;
 	use AtteanX::SPARQL::Constants;
 	use AtteanX::SPARQL::Token;
@@ -402,7 +402,7 @@ package Attean::ExistsExpression 0.017 {
 	}
 }
 
-package Attean::ExistsPlanExpression 0.017 {
+package Attean::ExistsPlanExpression 0.018 {
 	use Moo;
 	use Types::Standard qw(ConsumerOf);
 	use namespace::clean;
diff --git a/lib/Attean/IDPQueryPlanner.pm b/lib/Attean/IDPQueryPlanner.pm
index 619bc89..c91d3b6 100644
--- a/lib/Attean/IDPQueryPlanner.pm
+++ b/lib/Attean/IDPQueryPlanner.pm
@@ -7,7 +7,7 @@ Attean::IDPQueryPlanner - Iterative dynamic programming query planner
 
 =head1 VERSION
 
-This document describes Attean::IDPQueryPlanner version 0.017
+This document describes Attean::IDPQueryPlanner version 0.018
 
 =head1 SYNOPSIS
 
@@ -36,7 +36,7 @@ iterative dynamic programming approach.
 
 =cut
 
-package Attean::IDPQueryPlanner 0.017 {
+package Attean::IDPQueryPlanner 0.018 {
 	use Moo;
 	use namespace::clean;
 	
diff --git a/lib/Attean/IRI.pm b/lib/Attean/IRI.pm
index 9e12dab..fbc74c6 100644
--- a/lib/Attean/IRI.pm
+++ b/lib/Attean/IRI.pm
@@ -7,7 +7,7 @@ Attean::IRI - RDF Internationalized Resource Identifiers (IRIs)
 
 =head1 VERSION
 
-This document describes Attean::IRI version 0.017
+This document describes Attean::IRI version 0.018
 
 =head1 SYNOPSIS
 
@@ -28,7 +28,7 @@ and extends the L<IRI> class.
 
 =cut
 
-package Attean::IRI 0.017 {
+package Attean::IRI 0.018 {
 	use Moo;
 	use Types::Standard qw(Str);
 	use IRI 0.005;
diff --git a/lib/Attean/IteratorSequence.pm b/lib/Attean/IteratorSequence.pm
index 22f4c3d..8464f94 100644
--- a/lib/Attean/IteratorSequence.pm
+++ b/lib/Attean/IteratorSequence.pm
@@ -7,7 +7,7 @@ Attean::IteratorSequence - Iterator implementation backed by zero or more sub-it
 
 =head1 VERSION
 
-This document describes Attean::IteratorSequence version 0.017
+This document describes Attean::IteratorSequence version 0.018
 
 =head1 SYNOPSIS
 
@@ -43,7 +43,7 @@ iterator.
 
 =cut
 
-package Attean::IteratorSequence 0.017 {
+package Attean::IteratorSequence 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf);
 	use namespace::clean;
diff --git a/lib/Attean/ListIterator.pm b/lib/Attean/ListIterator.pm
index 64f79a7..c89cae7 100644
--- a/lib/Attean/ListIterator.pm
+++ b/lib/Attean/ListIterator.pm
@@ -7,7 +7,7 @@ Attean::ListIterator - Iterator implementation backed by a list/array of values
 
 =head1 VERSION
 
-This document describes Attean::ListIterator version 0.017
+This document describes Attean::ListIterator version 0.018
 
 =head1 SYNOPSIS
 
@@ -49,7 +49,7 @@ iterator.
 
 =cut
 
-package Attean::ListIterator 0.017 {
+package Attean::ListIterator 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Type::Tiny::Role;
diff --git a/lib/Attean/Literal.pm b/lib/Attean/Literal.pm
index cd0fe8e..25c1953 100644
--- a/lib/Attean/Literal.pm
+++ b/lib/Attean/Literal.pm
@@ -7,7 +7,7 @@ Attean::Literal - RDF Literals
 
 =head1 VERSION
 
-This document describes Attean::Literal version 0.017
+This document describes Attean::Literal version 0.018
 
 =head1 SYNOPSIS
 
@@ -48,7 +48,7 @@ Returns true if the literal has a language tag, false otherwise.
 
 =cut
 
-package Attean::Literal 0.017 {
+package Attean::Literal 0.018 {
 	use Moo;
 	use Types::Standard qw(Str Maybe InstanceOf);
 	use Attean::API::Term;
diff --git a/lib/Attean/Plan.pm b/lib/Attean/Plan.pm
index 95f8171..94a1865 100644
--- a/lib/Attean/Plan.pm
+++ b/lib/Attean/Plan.pm
@@ -8,7 +8,7 @@ Attean::Plan - Representation of SPARQL query plan operators
 
 =head1 VERSION
 
-This document describes Attean::Plan version 0.017
+This document describes Attean::Plan version 0.018
 
 =head1 SYNOPSIS
 
@@ -32,7 +32,7 @@ Evaluates a quad pattern against the model.
 
 =cut
 
-package Attean::Plan::Quad 0.017 {
+package Attean::Plan::Quad 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed reftype);
 	use Types::Standard qw(ConsumerOf ArrayRef);
@@ -137,7 +137,7 @@ Evaluates a join (natural-, anti-, or left-) using a nested loop.
 
 =cut
 
-package Attean::Plan::NestedLoopJoin 0.017 {
+package Attean::Plan::NestedLoopJoin 0.018 {
 	use Moo;
 	use List::MoreUtils qw(all);
 	use namespace::clean;
@@ -226,7 +226,7 @@ Evaluates a join (natural-, anti-, or left-) using a hash join.
 
 =cut
 
-package Attean::Plan::HashJoin 0.017 {
+package Attean::Plan::HashJoin 0.018 {
 	use Moo;
 	use List::MoreUtils qw(all);
 	use namespace::clean;
@@ -367,7 +367,7 @@ package Attean::Plan::HashJoin 0.017 {
 
 =cut
 
-package Attean::Plan::Construct 0.017 {
+package Attean::Plan::Construct 0.018 {
 	use Moo;
 	use List::MoreUtils qw(all);
 	use Types::Standard qw(Str ArrayRef ConsumerOf InstanceOf);
@@ -458,7 +458,7 @@ package Attean::Plan::Construct 0.017 {
 
 =cut
 
-package Attean::Plan::Describe 0.017 {
+package Attean::Plan::Describe 0.018 {
 	use Moo;
 	use Attean::RDF;
 	use List::MoreUtils qw(all);
@@ -544,7 +544,7 @@ named variable binding.
 
 =cut
 
-package Attean::Plan::EBVFilter 0.017 {
+package Attean::Plan::EBVFilter 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(Str ConsumerOf);
@@ -603,7 +603,7 @@ ordering.
 
 =cut
 
-package Attean::Plan::Merge 0.017 {
+package Attean::Plan::Merge 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(Str ArrayRef ConsumerOf);
@@ -632,7 +632,7 @@ Evaluates a set of sub-plans, returning the union of results.
 
 =cut
 
-package Attean::Plan::Union 0.017 {
+package Attean::Plan::Union 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use namespace::clean;
@@ -703,7 +703,7 @@ expressions, binding the produced values to new variables.
 
 =cut
 
-package Attean::Plan::Extend 0.017 {
+package Attean::Plan::Extend 0.018 {
 	use Moo;
 	use Encode;
 	use Data::UUID;
@@ -1297,7 +1297,7 @@ hash of already-seen results.
 
 =cut
 
-package Attean::Plan::HashDistinct 0.017 {
+package Attean::Plan::HashDistinct 0.018 {
 	use Moo;
 	use namespace::clean;
 	
@@ -1325,7 +1325,7 @@ filtering out sequential duplicates.
 
 =cut
 
-package Attean::Plan::Unique 0.017 {
+package Attean::Plan::Unique 0.018 {
 	use Moo;
 	use namespace::clean;
 	
@@ -1360,7 +1360,7 @@ number of results ("offset") and limiting the total number of returned results
 
 =cut
 
-package Attean::Plan::Slice 0.017 {
+package Attean::Plan::Slice 0.018 {
 	use Moo;
 	use Types::Standard qw(Int);
 	use namespace::clean;
@@ -1401,7 +1401,7 @@ of variable bindings in each result.
 
 =cut
 
-package Attean::Plan::Project 0.017 {
+package Attean::Plan::Project 0.018 {
 	use Moo;
 	with 'Attean::API::BindingSubstitutionPlan', 'Attean::API::UnaryQueryTree';
 	use Types::Standard qw(ArrayRef ConsumerOf);
@@ -1478,7 +1478,7 @@ sorting is applied.
 
 =cut
 
-package Attean::Plan::OrderBy 0.017 {
+package Attean::Plan::OrderBy 0.018 {
 	use Moo;
 	use Types::Standard qw(HashRef ArrayRef InstanceOf Bool Str);
 	use namespace::clean;
@@ -1548,7 +1548,7 @@ Evaluates a SPARQL query against a remove endpoint.
 
 =cut
 
-package Attean::Plan::Service 0.017 {
+package Attean::Plan::Service 0.018 {
 	use Moo;
 	use Types::Standard qw(ConsumerOf Bool Str);
 	use namespace::clean;
@@ -1580,7 +1580,7 @@ Returns a constant set of results.
 
 =cut
 
-package Attean::Plan::Table 0.017 {
+package Attean::Plan::Table 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf);
 	use namespace::clean;
@@ -1645,7 +1645,7 @@ L<Attean::ListIterator>, the size of that iterator will be used.
 
 =cut
 
-package Attean::Plan::Iterator 0.017 {
+package Attean::Plan::Iterator 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf Int);
 	use namespace::clean;
@@ -1709,7 +1709,7 @@ package Attean::Plan::Iterator 0.017 {
 
 =cut
 
-package Attean::Plan::ALPPath 0.017 {
+package Attean::Plan::ALPPath 0.018 {
 	use Moo;
 	use Attean::TreeRewriter;
 	use Types::Standard qw(ArrayRef ConsumerOf);
@@ -1861,7 +1861,7 @@ package Attean::Plan::ALPPath 0.017 {
 	}
 }
 
-package Attean::Plan::ZeroOrOnePath 0.017 {
+package Attean::Plan::ZeroOrOnePath 0.018 {
 	use Moo;
 	use Attean::TreeRewriter;
 	use Types::Standard qw(ArrayRef ConsumerOf);
@@ -1960,7 +1960,7 @@ results were produced by evaluating the sub-plan.
 
 =cut
 
-package Attean::Plan::Exists 0.017 {
+package Attean::Plan::Exists 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf);
 	use namespace::clean;
@@ -1990,7 +1990,7 @@ package Attean::Plan::Exists 0.017 {
 
 =cut
 
-package Attean::Plan::Aggregate 0.017 {
+package Attean::Plan::Aggregate 0.018 {
 	use Moo;
 	use Encode;
 	use Data::UUID;
@@ -2219,7 +2219,7 @@ package Attean::Plan::Aggregate 0.017 {
 	}
 }
 
-package Attean::Plan::Sequence 0.017 {
+package Attean::Plan::Sequence 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(ConsumerOf ArrayRef);
@@ -2244,7 +2244,7 @@ package Attean::Plan::Sequence 0.017 {
 	}
 }
 
-package Attean::Plan::Clear 0.017 {
+package Attean::Plan::Clear 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(ConsumerOf ArrayRef);
@@ -2281,7 +2281,7 @@ package Attean::Plan::Clear 0.017 {
 	}
 }
 
-package Attean::Plan::Drop 0.017 {
+package Attean::Plan::Drop 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(ConsumerOf ArrayRef);
@@ -2316,7 +2316,7 @@ package Attean::Plan::Drop 0.017 {
 	}
 }
 
-package Attean::Plan::TripleTemplateToModelQuadMethod 0.017 {
+package Attean::Plan::TripleTemplateToModelQuadMethod 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(ConsumerOf Str ArrayRef HashRef);
@@ -2392,7 +2392,7 @@ package Attean::Plan::TripleTemplateToModelQuadMethod 0.017 {
 	}
 }
 
-package Attean::Plan::Load 0.017 {
+package Attean::Plan::Load 0.018 {
 	use Moo;
 	use Encode;
 	use LWP::UserAgent;
diff --git a/lib/Attean/Quad.pm b/lib/Attean/Quad.pm
index d0b7457..82e2368 100644
--- a/lib/Attean/Quad.pm
+++ b/lib/Attean/Quad.pm
@@ -7,7 +7,7 @@ Attean::Quad - RDF Quads
 
 =head1 VERSION
 
-This document describes Attean::Quad version 0.017
+This document describes Attean::Quad version 0.018
 
 =head1 SYNOPSIS
 
@@ -40,7 +40,7 @@ This class consumes L<Attean::API::Quad>.
 
 =cut
 
-package Attean::QuadPattern 0.017 {
+package Attean::QuadPattern 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Attean::RDF;
@@ -54,7 +54,7 @@ package Attean::QuadPattern 0.017 {
 	with 'Attean::API::QuadPattern';
 }
 
-package Attean::Quad 0.017 {
+package Attean::Quad 0.018 {
 	use Moo;
 	use Attean::API::Binding;
 	
diff --git a/lib/Attean/QuadModel.pm b/lib/Attean/QuadModel.pm
index b988080..5defe9e 100644
--- a/lib/Attean/QuadModel.pm
+++ b/lib/Attean/QuadModel.pm
@@ -7,7 +7,7 @@ Attean::QuadModel - RDF model backed by a quad-store
 
 =head1 VERSION
 
-This document describes Attean::QuadModel version 0.017
+This document describes Attean::QuadModel version 0.018
 
 =head1 SYNOPSIS
 
@@ -38,7 +38,7 @@ quad-store.
 
 =cut
 
-package Attean::QuadModel 0.017 {
+package Attean::QuadModel 0.018 {
 	use Moo;
 	use Scalar::Util qw(reftype);
 	use namespace::clean;
@@ -123,7 +123,7 @@ Delegates to the underlying store if the store consumes Attean::API::CostPlanner
 }
 
 
-package Attean::MutableQuadModel 0.017 {
+package Attean::MutableQuadModel 0.018 {
 	use Moo;
 	extends 'Attean::QuadModel';
 	
diff --git a/lib/Attean/QueryPlanner.pm b/lib/Attean/QueryPlanner.pm
index 76210c5..5784170 100644
--- a/lib/Attean/QueryPlanner.pm
+++ b/lib/Attean/QueryPlanner.pm
@@ -7,7 +7,7 @@ Attean::QueryPlanner - Query planner
 
 =head1 VERSION
 
-This document describes Attean::QueryPlanner version 0.017
+This document describes Attean::QueryPlanner version 0.018
 
 =head1 SYNOPSIS
 
@@ -41,7 +41,7 @@ use Attean::Algebra;
 use Attean::Plan;
 use Attean::Expression;
 
-package Attean::QueryPlanner 0.017 {
+package Attean::QueryPlanner 0.018 {
 	use Moo;
 	use Encode qw(encode);
 	use Attean::RDF;
diff --git a/lib/Attean/RDF.pm b/lib/Attean/RDF.pm
index 9e50a19..b26740d 100644
--- a/lib/Attean/RDF.pm
+++ b/lib/Attean/RDF.pm
@@ -4,7 +4,7 @@ Attean::RDF - Utility package for exporting shorthand functions for constructing
 
 =head1 VERSION
 
-This document describes Attean::RDF version 0.017
+This document describes Attean::RDF version 0.018
 
 =head1 SYNOPSIS
 
@@ -31,7 +31,7 @@ by default).
 
 =cut
 
-package Attean::RDF 0.017 {
+package Attean::RDF 0.018 {
 	use v5.14;
 	use warnings;
 
diff --git a/lib/Attean/Result.pm b/lib/Attean/Result.pm
index 80c5365..363269f 100644
--- a/lib/Attean/Result.pm
+++ b/lib/Attean/Result.pm
@@ -7,7 +7,7 @@ Attean::Result - SPARQL Result
 
 =head1 VERSION
 
-This document describes Attean::Result version 0.017
+This document describes Attean::Result version 0.018
 
 =head1 SYNOPSIS
 
@@ -29,7 +29,7 @@ It conforms to the L<Attean::API::Result|Attean::API::Binding> role.
 
 =cut
 
-package Attean::Result 0.017 {
+package Attean::Result 0.018 {
 	use Moo;
 	use Types::Standard qw(HashRef ConsumerOf);
 	use Attean::API::Binding;
diff --git a/lib/Attean/SimpleQueryEvaluator.pm b/lib/Attean/SimpleQueryEvaluator.pm
index 1a2161a..b171ae6 100644
--- a/lib/Attean/SimpleQueryEvaluator.pm
+++ b/lib/Attean/SimpleQueryEvaluator.pm
@@ -7,7 +7,7 @@ Attean::SimpleQueryEvaluator - Simple query evaluator
 
 =head1 VERSION
 
-This document describes Attean::SimpleQueryEvaluator version 0.017
+This document describes Attean::SimpleQueryEvaluator version 0.018
 
 =head1 SYNOPSIS
 
@@ -34,7 +34,7 @@ model, and returns a query result.
 use Attean::Algebra;
 use Attean::Expression;
 
-package Attean::SimpleQueryEvaluator 0.017 {
+package Attean::SimpleQueryEvaluator 0.018 {
 	use Moo;
 	use Encode qw(encode);
 	use Attean::RDF;
@@ -527,7 +527,7 @@ supplied C<< $active_graph >>.
 	}
 }
 
-package Attean::SimpleQueryEvaluator::ExpressionEvaluator 0.017 {
+package Attean::SimpleQueryEvaluator::ExpressionEvaluator 0.018 {
 	use Moo;
 	use Attean::RDF;
 	use Scalar::Util qw(blessed);
diff --git a/lib/Attean/TermMap.pm b/lib/Attean/TermMap.pm
index 41b909c..583f6cf 100644
--- a/lib/Attean/TermMap.pm
+++ b/lib/Attean/TermMap.pm
@@ -7,7 +7,7 @@ Attean::TermMap - Mapping terms to new terms
 
 =head1 VERSION
 
-This document describes Attean::TermMap version 0.017
+This document describes Attean::TermMap version 0.018
 
 =head1 SYNOPSIS
 
@@ -42,7 +42,7 @@ term objects.
 
 =cut
 
-package Attean::TermMap 0.017 {
+package Attean::TermMap 0.018 {
 	use Moo;
 	use Types::Standard qw(CodeRef);
 	use Attean::API::Binding;
diff --git a/lib/Attean/TreeRewriter.pm b/lib/Attean/TreeRewriter.pm
index f6d2206..6ce7969 100644
--- a/lib/Attean/TreeRewriter.pm
+++ b/lib/Attean/TreeRewriter.pm
@@ -7,7 +7,7 @@ Attean::TreeRewriter - Walk and rewrite subtrees
 
 =head1 VERSION
 
-This document describes Attean::TreeRewriter version 0.017
+This document describes Attean::TreeRewriter version 0.018
 
 =head1 SYNOPSIS
 
@@ -34,7 +34,7 @@ None.
 
 =cut
 
-package Attean::TreeRewriter 0.017 {
+package Attean::TreeRewriter 0.018 {
 	use Moo;
 	use Types::Standard qw(CodeRef ArrayRef Str);
 	use Data::UUID;
diff --git a/lib/Attean/Triple.pm b/lib/Attean/Triple.pm
index e1f49f4..8b22681 100644
--- a/lib/Attean/Triple.pm
+++ b/lib/Attean/Triple.pm
@@ -7,7 +7,7 @@ Attean::Triple - RDF Triples
 
 =head1 VERSION
 
-This document describes Attean::Triple version 0.017
+This document describes Attean::Triple version 0.018
 
 =head1 SYNOPSIS
 
@@ -38,7 +38,7 @@ This role consumes L<Attean::API::Triple>.
 
 =cut
 
-package Attean::TriplePattern 0.017 {
+package Attean::TriplePattern 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Attean::RDF;
@@ -58,7 +58,7 @@ package Attean::TriplePattern 0.017 {
 	}
 }
 
-package Attean::Triple 0.017 {
+package Attean::Triple 0.018 {
 	use Moo;
 	use Attean::API::Binding;
 	
diff --git a/lib/Attean/TripleModel.pm b/lib/Attean/TripleModel.pm
index a0332a8..82ecad2 100644
--- a/lib/Attean/TripleModel.pm
+++ b/lib/Attean/TripleModel.pm
@@ -7,7 +7,7 @@ Attean::TripleModel - RDF model backed by a set of triple-stores
 
 =head1 VERSION
 
-This document describes Attean::TripleModel version 0.017
+This document describes Attean::TripleModel version 0.018
 
 =head1 SYNOPSIS
 
@@ -41,7 +41,7 @@ objects representing the backing triple-store for that graph.
 
 =cut
 
-package Attean::TripleModel 0.017 {
+package Attean::TripleModel 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf HashRef);
 	use Scalar::Util qw(reftype blessed);
@@ -211,7 +211,7 @@ Attempts to delegate to all the underlying stores if that store consumes Attean:
 	}
 }
 
-package Attean::AddativeTripleModelRole 0.017 {
+package Attean::AddativeTripleModelRole 0.018 {
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(CodeRef);
 
@@ -275,7 +275,7 @@ Removes the store associated with the given C<< $graph >>.
 }
 
 
-package Attean::MutableTripleModel 0.017 {
+package Attean::MutableTripleModel 0.018 {
 	use Moo;
 	use Types::Standard qw(ArrayRef ConsumerOf HashRef);
 	use Scalar::Util qw(reftype);
@@ -358,7 +358,7 @@ Removes all quads with the given C<< $graph >>.
 	}
 }
 
-package Attean::AddativeTripleModel 0.017 {
+package Attean::AddativeTripleModel 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(CodeRef);
@@ -368,7 +368,7 @@ package Attean::AddativeTripleModel 0.017 {
 	with 'Attean::AddativeTripleModelRole';
 }
 
-package Attean::AddativeMutableTripleModel 0.017 {
+package Attean::AddativeMutableTripleModel 0.018 {
 	use Moo;
 	use Scalar::Util qw(blessed);
 	use Types::Standard qw(CodeRef);
diff --git a/lib/Attean/Variable.pm b/lib/Attean/Variable.pm
index ca08f1c..2605eb1 100644
--- a/lib/Attean/Variable.pm
+++ b/lib/Attean/Variable.pm
@@ -7,7 +7,7 @@ Attean::Variable - Pattern matching variables
 
 =head1 VERSION
 
-This document describes Attean::Variable version 0.017
+This document describes Attean::Variable version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ It conforms to the L<Attean::API::TermOrVariable|Attean::API> role.
 
 =cut
 
-package Attean::Variable 0.017 {
+package Attean::Variable 0.018 {
 	use Moo;
 	use Types::Standard qw(Str);
 	use Data::UUID;
diff --git a/lib/AtteanX/API/JoinRotatingPlanner.pm b/lib/AtteanX/API/JoinRotatingPlanner.pm
index 1b4aeca..60d9cca 100644
--- a/lib/AtteanX/API/JoinRotatingPlanner.pm
+++ b/lib/AtteanX/API/JoinRotatingPlanner.pm
@@ -9,7 +9,7 @@ AtteanX::API::JoinRotatingPlanner - Query planning role to produce alternative j
 
 =head1 VERSION
 
-This document describes AtteanX::API::JoinRotatingPlanner version 0.017
+This document describes AtteanX::API::JoinRotatingPlanner version 0.018
 
 =head1 DESCRIPTION
 
@@ -35,7 +35,7 @@ plan.
 
 =cut
 
-package AtteanX::API::JoinRotatingPlanner 0.017 {
+package AtteanX::API::JoinRotatingPlanner 0.018 {
 	# Rotate joins like (A⋈B)⋈C to A⋈(B⋈C), with the ability to coalesce B⋈C (e.g. for adjacent BGPs)
 	use Attean;
 	use Attean::RDF;
diff --git a/lib/AtteanX/API/Lexer.pm b/lib/AtteanX/API/Lexer.pm
index 6cf5e91..58893c5 100644
--- a/lib/AtteanX/API/Lexer.pm
+++ b/lib/AtteanX/API/Lexer.pm
@@ -7,7 +7,7 @@ AtteanX::API::Lexer - Role defining common functionality for lexers.
 
 =head1 VERSION
 
-This document describes AtteanX::API::Lexer version 0.017
+This document describes AtteanX::API::Lexer version 0.018
 
 =head1 DESCRIPTION
 
@@ -41,7 +41,7 @@ of characters, constant strings, and fixed-length buffers.
 
 =cut
 
-package AtteanX::API::Lexer 0.017 {
+package AtteanX::API::Lexer 0.018 {
 	use strict;
 	use Types::Standard qw(FileHandle Ref Str Int ArrayRef HashRef ConsumerOf InstanceOf);
 
diff --git a/lib/AtteanX/Parser/NQuads.pm b/lib/AtteanX/Parser/NQuads.pm
index c9f8e20..18af281 100644
--- a/lib/AtteanX/Parser/NQuads.pm
+++ b/lib/AtteanX/Parser/NQuads.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::NQuads - N-Quads Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::NQuads version 0.017
+This document describes AtteanX::Parser::NQuads version 0.018
 
 =head1 SYNOPSIS
 
@@ -25,7 +25,7 @@ This document describes AtteanX::Parser::NQuads version 0.017
 
 =cut
 
-package AtteanX::Parser::NQuads 0.017 {
+package AtteanX::Parser::NQuads 0.018 {
 	use utf8;
 	
 	use Attean;
diff --git a/lib/AtteanX/Parser/NTriples.pm b/lib/AtteanX/Parser/NTriples.pm
index e797a9a..278a106 100644
--- a/lib/AtteanX/Parser/NTriples.pm
+++ b/lib/AtteanX/Parser/NTriples.pm
@@ -4,7 +4,7 @@ AtteanX::Parser::NTriples - N-Triples Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::NTriples version 0.017
+This document describes AtteanX::Parser::NTriples version 0.018
 
 =head1 SYNOPSIS
 
@@ -25,7 +25,7 @@ This document describes AtteanX::Parser::NTriples version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Parser::NTriples 0.017 {
+package AtteanX::Parser::NTriples 0.018 {
 	use utf8;
 	
 	use Attean;
diff --git a/lib/AtteanX/Parser/NTuples.pm b/lib/AtteanX/Parser/NTuples.pm
index d863d70..00b7ec6 100644
--- a/lib/AtteanX/Parser/NTuples.pm
+++ b/lib/AtteanX/Parser/NTuples.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::NTuples - Shared functionality for N-Triples and N-Quads parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::NTuples version 0.017
+This document describes AtteanX::Parser::NTuples version 0.018
 
 =head1 SYNOPSIS
 
@@ -23,7 +23,7 @@ This document describes AtteanX::Parser::NTuples version 0.017
 
 =cut
 
-package AtteanX::Parser::NTuples 0.017 {
+package AtteanX::Parser::NTuples 0.018 {
 	use utf8;
 	use Moo;
 	use Attean;
diff --git a/lib/AtteanX/Parser/RDFXML.pm b/lib/AtteanX/Parser/RDFXML.pm
index ddb49ed..9effcb6 100644
--- a/lib/AtteanX/Parser/RDFXML.pm
+++ b/lib/AtteanX/Parser/RDFXML.pm
@@ -4,7 +4,7 @@ AtteanX::Parser::RDFXML - RDF/XML Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::RDFXML version 0.017
+This document describes AtteanX::Parser::RDFXML version 0.018
 
 =head1 SYNOPSIS
 
@@ -41,7 +41,7 @@ A string prefix for identifiers generated for blank nodes.
 use v5.14;
 use warnings;
 
-package AtteanX::Parser::RDFXML 0.017 {
+package AtteanX::Parser::RDFXML 0.018 {
 	use Moo;
 	use Types::Standard qw(Str Object);
 	use Attean;
diff --git a/lib/AtteanX/Parser/SPARQL.pm b/lib/AtteanX/Parser/SPARQL.pm
index 919291e..dfc6e61 100644
--- a/lib/AtteanX/Parser/SPARQL.pm
+++ b/lib/AtteanX/Parser/SPARQL.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::SPARQL - SPARQL 1.1 Parser.
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQL version 0.017.
+This document describes AtteanX::Parser::SPARQL version 0.018.
 
 =head1 SYNOPSIS
 
@@ -70,7 +70,7 @@ L<Attean::API::AbbreviatingParser>.
 
 =cut
 
-package AtteanX::Parser::SPARQL 0.017;
+package AtteanX::Parser::SPARQL 0.018;
 
 use strict;
 use warnings;
diff --git a/lib/AtteanX/Parser/SPARQLJSON.pm b/lib/AtteanX/Parser/SPARQLJSON.pm
index 3d54889..fcfb224 100644
--- a/lib/AtteanX/Parser/SPARQLJSON.pm
+++ b/lib/AtteanX/Parser/SPARQLJSON.pm
@@ -4,7 +4,7 @@ AtteanX::Parser::SPARQLJSON - SPARQL JSON Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQLJSON version 0.017
+This document describes AtteanX::Parser::SPARQLJSON version 0.018
 
 =head1 SYNOPSIS
 
@@ -37,7 +37,7 @@ This document describes AtteanX::Parser::SPARQLJSON version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Parser::SPARQLJSON 0.017 {
+package AtteanX::Parser::SPARQLJSON 0.018 {
 	use Attean;
 	use Moo;
 	use JSON;
diff --git a/lib/AtteanX/Parser/SPARQLLex.pm b/lib/AtteanX/Parser/SPARQLLex.pm
index 80a060f..1ec9977 100644
--- a/lib/AtteanX/Parser/SPARQLLex.pm
+++ b/lib/AtteanX/Parser/SPARQLLex.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::SPARQLLex - SPARQL Lexer
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQLLex version 0.017
+This document describes AtteanX::Parser::SPARQLLex version 0.018
 
 =head1 SYNOPSIS
 
@@ -39,7 +39,7 @@ This document describes AtteanX::Parser::SPARQLLex version 0.017
 
 =cut
 
-package AtteanX::Parser::SPARQLLex 0.017 {
+package AtteanX::Parser::SPARQLLex 0.018 {
 	use utf8;
 	use Moo;
 	use Attean;
@@ -104,7 +104,7 @@ the SPARQL query/update read from the L<IO::Handle> object C<< $fh >>.
 	}
 }
 
-package AtteanX::Parser::SPARQLLex::Iterator 0.017 {
+package AtteanX::Parser::SPARQLLex::Iterator 0.018 {
 	use utf8;
 	use Moo;
 	use Attean;
diff --git a/lib/AtteanX/Parser/SPARQLTSV.pm b/lib/AtteanX/Parser/SPARQLTSV.pm
index d7a9119..e171b81 100644
--- a/lib/AtteanX/Parser/SPARQLTSV.pm
+++ b/lib/AtteanX/Parser/SPARQLTSV.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::SPARQLTSV - SPARQL Results TSV Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQLTSV version 0.017
+This document describes AtteanX::Parser::SPARQLTSV version 0.018
 
 =head1 SYNOPSIS
 
@@ -35,7 +35,7 @@ This document describes AtteanX::Parser::SPARQLTSV version 0.017
 
 =cut
 
-package AtteanX::Parser::SPARQLTSV 0.017 {
+package AtteanX::Parser::SPARQLTSV 0.018 {
 	use utf8;
 	use Moo;
 	use Attean;
diff --git a/lib/AtteanX/Parser/SPARQLXML.pm b/lib/AtteanX/Parser/SPARQLXML.pm
index 803df04..a6dc95d 100644
--- a/lib/AtteanX/Parser/SPARQLXML.pm
+++ b/lib/AtteanX/Parser/SPARQLXML.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::SPARQLXML - SPARQL XML Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQLXML version 0.017
+This document describes AtteanX::Parser::SPARQLXML version 0.018
 
 =head1 SYNOPSIS
 
@@ -28,7 +28,7 @@ This document describes AtteanX::Parser::SPARQLXML version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Parser::SPARQLXML 0.017 {
+package AtteanX::Parser::SPARQLXML 0.018 {
 	use XML::SAX::ParserFactory;
 	use Attean;
 	use Moo;
diff --git a/lib/AtteanX/Parser/SPARQLXML/SAXHandler.pm b/lib/AtteanX/Parser/SPARQLXML/SAXHandler.pm
index 621de7f..ccdc716 100644
--- a/lib/AtteanX/Parser/SPARQLXML/SAXHandler.pm
+++ b/lib/AtteanX/Parser/SPARQLXML/SAXHandler.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::SPARQLXML::SAXHandler - XML parser for SPARQL XML Results forma
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::SPARQLXML::SAXHandler version 0.017
+This document describes AtteanX::Parser::SPARQLXML::SAXHandler version 0.018
 
 =head1 STATUS
 
@@ -26,7 +26,7 @@ please L<get in touch|http://www.perlrdf.org/>.
 
 =cut
 
-package AtteanX::Parser::SPARQLXML::SAXHandler 0.017;
+package AtteanX::Parser::SPARQLXML::SAXHandler 0.018;
 
 use v5.14;
 use warnings;
diff --git a/lib/AtteanX/Parser/Turtle.pm b/lib/AtteanX/Parser/Turtle.pm
index e9a44fb..4404140 100644
--- a/lib/AtteanX/Parser/Turtle.pm
+++ b/lib/AtteanX/Parser/Turtle.pm
@@ -10,7 +10,7 @@ AtteanX::Parser::Turtle - Turtle RDF Parser
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::Turtle version 0.017
+This document describes AtteanX::Parser::Turtle version 0.018
 
 =head1 SYNOPSIS
 
@@ -44,7 +44,7 @@ A boolean indicating whether term values should be canonicalized during parsing.
 
 =cut
 
-package AtteanX::Parser::Turtle 0.017 {
+package AtteanX::Parser::Turtle 0.018 {
 	use Moo;
 	use Types::Standard qw(Bool ArrayRef HashRef Str Maybe InstanceOf);
 	use utf8;
diff --git a/lib/AtteanX/Parser/Turtle/Constants.pm b/lib/AtteanX/Parser/Turtle/Constants.pm
index 44683d0..9a61862 100644
--- a/lib/AtteanX/Parser/Turtle/Constants.pm
+++ b/lib/AtteanX/Parser/Turtle/Constants.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::Turtle::Constants - Constant definitions for use in parsing Tur
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::Turtle::Constants version 0.017
+This document describes AtteanX::Parser::Turtle::Constants version 0.018
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@ This document describes AtteanX::Parser::Turtle::Constants version 0.017
 
 =cut
 
-package AtteanX::Parser::Turtle::Constants 0.017 {
+package AtteanX::Parser::Turtle::Constants 0.018 {
 	use v5.14;
 	use warnings;
 
diff --git a/lib/AtteanX/Parser/Turtle/Lexer.pm b/lib/AtteanX/Parser/Turtle/Lexer.pm
index 7f54584..379f188 100644
--- a/lib/AtteanX/Parser/Turtle/Lexer.pm
+++ b/lib/AtteanX/Parser/Turtle/Lexer.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::Turtle::Lexer - Tokenizer for parsing Turtle, TriG, and N-Tripl
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::Turtle::Lexer version 0.017
+This document describes AtteanX::Parser::Turtle::Lexer version 0.018
 
 =head1 SYNOPSIS
 
@@ -23,7 +23,7 @@ This document describes AtteanX::Parser::Turtle::Lexer version 0.017
 
 =cut
 
-package AtteanX::Parser::Turtle::Lexer 0.017 {
+package AtteanX::Parser::Turtle::Lexer 0.018 {
 	use AtteanX::Parser::Turtle::Constants;
 	use v5.14;
 	use strict;
diff --git a/lib/AtteanX/Parser/Turtle/Token.pm b/lib/AtteanX/Parser/Turtle/Token.pm
index 93ce497..706aefc 100644
--- a/lib/AtteanX/Parser/Turtle/Token.pm
+++ b/lib/AtteanX/Parser/Turtle/Token.pm
@@ -7,7 +7,7 @@ AtteanX::Parser::Turtle::Token - Token objects used for parsing of Turtle
 
 =head1 VERSION
 
-This document describes AtteanX::Parser::Turtle::Token version 0.017
+This document describes AtteanX::Parser::Turtle::Token version 0.018
 
 =head1 SYNOPSIS
 
@@ -66,7 +66,7 @@ use Sub::Util qw(set_subname);
 use AtteanX::Parser::Turtle::Constants;
 use namespace::clean;
 
-our $VERSION	= 0.017;
+our $VERSION	= 0.018;
 
 has type => ( is => 'ro', );
 has start_line => ( is => 'ro', );
diff --git a/lib/AtteanX/SPARQL/Constants.pm b/lib/AtteanX/SPARQL/Constants.pm
index 848f11d..48aca7e 100644
--- a/lib/AtteanX/SPARQL/Constants.pm
+++ b/lib/AtteanX/SPARQL/Constants.pm
@@ -7,7 +7,7 @@ AtteanX::SPARQL::Constants - Constant definitions for use in parsing and seriali
 
 =head1 VERSION
 
-This document describes AtteanX::SPARQL::Constants version 0.017
+This document describes AtteanX::SPARQL::Constants version 0.018
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@ This document describes AtteanX::SPARQL::Constants version 0.017
 
 =cut
 
-package AtteanX::SPARQL::Constants 0.017 {
+package AtteanX::SPARQL::Constants 0.018 {
 	use v5.14;
 	use warnings;
 	use AtteanX::Parser::Turtle::Constants;
diff --git a/lib/AtteanX/SPARQL/Token.pm b/lib/AtteanX/SPARQL/Token.pm
index 28138e3..b6d6508 100644
--- a/lib/AtteanX/SPARQL/Token.pm
+++ b/lib/AtteanX/SPARQL/Token.pm
@@ -7,7 +7,7 @@ AtteanX::SPARQL::Token - Token objects used for parsing and serializing SPARQL
 
 =head1 VERSION
 
-This document describes AtteanX::SPARQL::Token version 0.017
+This document describes AtteanX::SPARQL::Token version 0.018
 
 =head1 SYNOPSIS
 
@@ -55,7 +55,7 @@ An array of values associated with the token (e.g. the integer value of an INT t
 
 =cut
 
-package AtteanX::SPARQL::Token 0.017;
+package AtteanX::SPARQL::Token 0.018;
 
 use Moo;
 use Types::Standard qw(ArrayRef Str);
diff --git a/lib/AtteanX/Serializer/CanonicalNTriples.pm b/lib/AtteanX/Serializer/CanonicalNTriples.pm
index 26acc13..3702560 100644
--- a/lib/AtteanX/Serializer/CanonicalNTriples.pm
+++ b/lib/AtteanX/Serializer/CanonicalNTriples.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::CanonicalNTriples - Canonical N-Triples Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::CanonicalNTriples version 0.017
+This document describes AtteanX::Serializer::CanonicalNTriples version 0.018
 
 =head1 SYNOPSIS
 
@@ -25,7 +25,7 @@ This document describes AtteanX::Serializer::CanonicalNTriples version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::CanonicalNTriples 0.017 {
+package AtteanX::Serializer::CanonicalNTriples 0.018 {
 	use Moo;
 	use Encode;
 	extends 'AtteanX::Serializer::NTriples';
diff --git a/lib/AtteanX/Serializer/NQuads.pm b/lib/AtteanX/Serializer/NQuads.pm
index f475e0f..99b2588 100644
--- a/lib/AtteanX/Serializer/NQuads.pm
+++ b/lib/AtteanX/Serializer/NQuads.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::NQuads - N-Triples Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::NQuads version 0.017
+This document describes AtteanX::Serializer::NQuads version 0.018
 
 =head1 SYNOPSIS
 
@@ -37,7 +37,7 @@ Serializes triples and quads into the RDF 1.1 N-Quads format.
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::NQuads 0.017 {
+package AtteanX::Serializer::NQuads 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/NTriples.pm b/lib/AtteanX/Serializer/NTriples.pm
index e21ba08..86c352b 100644
--- a/lib/AtteanX/Serializer/NTriples.pm
+++ b/lib/AtteanX/Serializer/NTriples.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::NTriples - N-Triples Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::NTriples version 0.017
+This document describes AtteanX::Serializer::NTriples version 0.018
 
 =head1 SYNOPSIS
 
@@ -37,7 +37,7 @@ Serializes triples into the RDF 1.1 N-Triples format.
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::NTriples 0.017 {
+package AtteanX::Serializer::NTriples 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/NTuples.pm b/lib/AtteanX/Serializer/NTuples.pm
index f97fdd8..281394e 100644
--- a/lib/AtteanX/Serializer/NTuples.pm
+++ b/lib/AtteanX/Serializer/NTuples.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::NTuples - Shared functionality for N-Triples and N-Quads se
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::NTuples version 0.017
+This document describes AtteanX::Serializer::NTuples version 0.018
 
 =head1 SYNOPSIS
 
@@ -25,7 +25,7 @@ This document describes AtteanX::Serializer::NTuples version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::NTuples 0.017 {
+package AtteanX::Serializer::NTuples 0.018 {
 	use Moo;
 	use Encode qw(encode);
 	use Attean::ListIterator;
diff --git a/lib/AtteanX/Serializer/RDFXML.pm b/lib/AtteanX/Serializer/RDFXML.pm
index 6f655fd..f71982a 100644
--- a/lib/AtteanX/Serializer/RDFXML.pm
+++ b/lib/AtteanX/Serializer/RDFXML.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::RDFXML - RDF/XML Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::RDFXML version 0.017
+This document describes AtteanX::Serializer::RDFXML version 0.018
 
 =head1 SYNOPSIS
 
@@ -37,7 +37,7 @@ This document describes AtteanX::Serializer::RDFXML version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::RDFXML 0.017 {
+package AtteanX::Serializer::RDFXML 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef HashRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQL.pm b/lib/AtteanX/Serializer/SPARQL.pm
index 484c34b..572e2de 100644
--- a/lib/AtteanX/Serializer/SPARQL.pm
+++ b/lib/AtteanX/Serializer/SPARQL.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQL - SPARQL Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQL version 0.017
+This document describes AtteanX::Serializer::SPARQL version 0.018
 
 =head1 SYNOPSIS
 
@@ -39,7 +39,7 @@ This document describes AtteanX::Serializer::SPARQL version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQL 0.017 {
+package AtteanX::Serializer::SPARQL 0.018 {
 	use Moo;
 	use Data::Dumper;
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQLCSV.pm b/lib/AtteanX/Serializer/SPARQLCSV.pm
index 29b54ab..ebef7bc 100644
--- a/lib/AtteanX/Serializer/SPARQLCSV.pm
+++ b/lib/AtteanX/Serializer/SPARQLCSV.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQLCSV - SPARQL Results CSV Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQLCSV version 0.017
+This document describes AtteanX::Serializer::SPARQLCSV version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This document describes AtteanX::Serializer::SPARQLCSV version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQLCSV 0.017 {
+package AtteanX::Serializer::SPARQLCSV 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQLHTML.pm b/lib/AtteanX/Serializer/SPARQLHTML.pm
index 45bea82..933ab03 100644
--- a/lib/AtteanX/Serializer/SPARQLHTML.pm
+++ b/lib/AtteanX/Serializer/SPARQLHTML.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQLHTML - SPARQL Results HTML Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQLHTML version 0.017
+This document describes AtteanX::Serializer::SPARQLHTML version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This document describes AtteanX::Serializer::SPARQLHTML version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQLHTML 0.017 {
+package AtteanX::Serializer::SPARQLHTML 0.018 {
 	use Moo;
 	use Types::Standard qw(Str Bool ArrayRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQLJSON.pm b/lib/AtteanX/Serializer/SPARQLJSON.pm
index 340f694..972899a 100644
--- a/lib/AtteanX/Serializer/SPARQLJSON.pm
+++ b/lib/AtteanX/Serializer/SPARQLJSON.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQLJSON - SPARQL Results JSON Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQLJSON version 0.017
+This document describes AtteanX::Serializer::SPARQLJSON version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This document describes AtteanX::Serializer::SPARQLJSON version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQLJSON 0.017 {
+package AtteanX::Serializer::SPARQLJSON 0.018 {
 	use Moo;
 	use Types::Standard qw(Str);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQLTSV.pm b/lib/AtteanX/Serializer/SPARQLTSV.pm
index fb944b2..69c1248 100644
--- a/lib/AtteanX/Serializer/SPARQLTSV.pm
+++ b/lib/AtteanX/Serializer/SPARQLTSV.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQLTSV - SPARQL Results TSV Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQLTSV version 0.017
+This document describes AtteanX::Serializer::SPARQLTSV version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This document describes AtteanX::Serializer::SPARQLTSV version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQLTSV 0.017 {
+package AtteanX::Serializer::SPARQLTSV 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef);
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/SPARQLXML.pm b/lib/AtteanX/Serializer/SPARQLXML.pm
index 0218ac1..a9e93a0 100644
--- a/lib/AtteanX/Serializer/SPARQLXML.pm
+++ b/lib/AtteanX/Serializer/SPARQLXML.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::SPARQLXML - SPARQL Results XML Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::SPARQLXML version 0.017
+This document describes AtteanX::Serializer::SPARQLXML version 0.018
 
 =head1 SYNOPSIS
 
@@ -33,7 +33,7 @@ This document describes AtteanX::Serializer::SPARQLXML version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::SPARQLXML 0.017 {
+package AtteanX::Serializer::SPARQLXML 0.018 {
 	use Moo;
 	use Types::Standard qw(Str ArrayRef);
 	use Encode qw(encode encode_utf8);
diff --git a/lib/AtteanX/Serializer/Turtle.pm b/lib/AtteanX/Serializer/Turtle.pm
index 6abccf2..8f10ad9 100644
--- a/lib/AtteanX/Serializer/Turtle.pm
+++ b/lib/AtteanX/Serializer/Turtle.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::Turtle - Turtle Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::Turtle version 0.017
+This document describes AtteanX::Serializer::Turtle version 0.018
 
 =head1 SYNOPSIS
 
@@ -39,7 +39,7 @@ This document describes AtteanX::Serializer::Turtle version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::Turtle 0.017 {
+package AtteanX::Serializer::Turtle 0.018 {
 	use Moo;
 	use Data::Dumper;
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Serializer/TurtleTokens.pm b/lib/AtteanX/Serializer/TurtleTokens.pm
index 0851b98..6168da1 100644
--- a/lib/AtteanX/Serializer/TurtleTokens.pm
+++ b/lib/AtteanX/Serializer/TurtleTokens.pm
@@ -4,7 +4,7 @@ AtteanX::Serializer::TurtleTokens - Turtle Serializer
 
 =head1 VERSION
 
-This document describes AtteanX::Serializer::TurtleTokens version 0.017
+This document describes AtteanX::Serializer::TurtleTokens version 0.018
 
 =head1 SYNOPSIS
 
@@ -39,7 +39,7 @@ This document describes AtteanX::Serializer::TurtleTokens version 0.017
 use v5.14;
 use warnings;
 
-package AtteanX::Serializer::TurtleTokens 0.017 {
+package AtteanX::Serializer::TurtleTokens 0.018 {
 	use Moo;
 	use Data::Dumper;
 	use Encode qw(encode);
diff --git a/lib/AtteanX/Store/Memory.pm b/lib/AtteanX/Store/Memory.pm
index 65e8629..758856c 100644
--- a/lib/AtteanX/Store/Memory.pm
+++ b/lib/AtteanX/Store/Memory.pm
@@ -4,7 +4,7 @@ AtteanX::Store::Memory - Simple in-memory RDF store
 
 =head1 VERSION
 
-This document describes AtteanX::Store::Memory version 0.017
+This document describes AtteanX::Store::Memory version 0.018
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@ AtteanX::Store::Memory provides an in-memory quad-store.
 use v5.14;
 use warnings;
 
-package AtteanX::Store::Memory 0.017 {
+package AtteanX::Store::Memory 0.018 {
 use Moo;
 use Type::Tiny::Role;
 use Types::Standard qw(Int ArrayRef HashRef ConsumerOf InstanceOf);
diff --git a/lib/AtteanX/Store/Simple.pm b/lib/AtteanX/Store/Simple.pm
index 81c6524..0dcc006 100644
--- a/lib/AtteanX/Store/Simple.pm
+++ b/lib/AtteanX/Store/Simple.pm
@@ -4,7 +4,7 @@ AtteanX::Store::Simple - Simple, unindexed, in-memory RDF store
 
 =head1 VERSION
 
-This document describes AtteanX::Store::Simple version 0.017
+This document describes AtteanX::Store::Simple version 0.018
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@ AtteanX::Store::Simple provides an in-memory quad-store.
 use v5.14;
 use warnings;
 
-package AtteanX::Store::Simple 0.017 {
+package AtteanX::Store::Simple 0.018 {
 	use Moo;
 	use Type::Tiny::Role;
 	use Types::Standard qw(Int ArrayRef HashRef ConsumerOf InstanceOf);
diff --git a/lib/AtteanX/Store/SimpleTripleStore.pm b/lib/AtteanX/Store/SimpleTripleStore.pm
index 4769dfa..b8e280b 100644
--- a/lib/AtteanX/Store/SimpleTripleStore.pm
+++ b/lib/AtteanX/Store/SimpleTripleStore.pm
@@ -4,7 +4,7 @@ AtteanX::Store::SimpleTripleStore - SimpleTripleStore, unindexed, in-memory RDF
 
 =head1 VERSION
 
-This document describes AtteanX::Store::SimpleTripleStore version 0.017
+This document describes AtteanX::Store::SimpleTripleStore version 0.018
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@ AtteanX::Store::SimpleTripleStore provides an in-memory triple-store.
 use v5.14;
 use warnings;
 
-package AtteanX::Store::SimpleTripleStore 0.017 {
+package AtteanX::Store::SimpleTripleStore 0.018 {
 	use Moo;
 	use Type::Tiny::Role;
 	use Types::Standard qw(Int ArrayRef HashRef ConsumerOf InstanceOf);
diff --git a/meta/changes.ttl b/meta/changes.ttl
index 2373f81..9f40df0 100644
--- a/meta/changes.ttl
+++ b/meta/changes.ttl
@@ -28,9 +28,30 @@ my:project
 	:bug-database			<https://github.com/kasei/attean/issues> ;
 	doap:download-page		<http://search.cpan.org/dist/Attean/> ;
 	doap:download-mirror	<http://kasei.us/code/files/> ;
-	:release				my:v_0-001 , my:v_0-002 , my:v_0-003 , my:v_0-004 , my:v_0-005 , my:v_0-006 , my:v_0-007 , my:v_0-008 , my:v_0-009 , my:v_0-010 , my:v_0-011 , my:v_0-012 , my:v_0-013 , my:v_0-014 , my:v_0-015 , my:v_0-016 , my:v_0-017 ;
+	:release				my:v_0-001 , my:v_0-002 , my:v_0-003 , my:v_0-004 , my:v_0-005 , my:v_0-006 , my:v_0-007 , my:v_0-008 , my:v_0-009 , my:v_0-010 , my:v_0-011 , my:v_0-012 , my:v_0-013 , my:v_0-014 , my:v_0-015 , my:v_0-016 , my:v_0-017 , my:v_0-018 ;
 	.
 
+my:v_0-018
+	a					:Version ;
+	dc:issued			"2018-01-06"^^xsd:date ;
+	:revision			"0.018" ;
+	dcterms:replaces	my:v_0-017 ;
+	dcs:changeset [
+		dcs:item
+			[ a dcs:Update ; rdfs:label "Use Moo::Role instead of namespace::clean to cleanup namespaces (#112 from @baby-gnu)." ],
+			[ a dcs:Update ; rdfs:label "Updated Makefile.PL for perl 5.26." ],
+			[ a dcs:Update ; rdfs:label "Improve code coverage for Attean::TermMap (#107 from @Varadinsky)." ],
+			[ a dcs:Update ; rdfs:label "Documentation fixes (#105 from @Varadinsky)." ],
+			[ a dcs:Update ; rdfs:label "Allow UUIDs to have lowercase hex digits (#102)." ],
+			[ a dcs:Update ; rdfs:label "Added tests for turtle parser escape handling (#55)." ],
+			[ a dcs:Update ; rdfs:label "Fixed as_string serialization of CONSTRUCT algebras (#97)." ],
+			[ a dcs:Update ; rdfs:label "Improvements to HashJoin query planning (#103 from @KjetilK)." ],
+			[ a dcs:Update ; rdfs:label "Updated required version of IRI (#118)." ],
+			[ a dcs:Update ; rdfs:label "Removed LICENSE file and updated licensing statement in individual modules (#116)." ]
+	]
+	.
+
+
 my:v_0-017
 	a					:Version ;
 	dc:issued			"2016-06-09"^^xsd:date ;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libattean-perl.git



More information about the Pkg-perl-cvs-commits mailing list