Index: libcfa/src/stdlib.hfa
===================================================================
--- libcfa/src/stdlib.hfa	(revision 13de4478412abd33f139ec84186ad2c7b0e777a3)
+++ libcfa/src/stdlib.hfa	(revision 4a3eb1c83341949f6869646db2327a872393b817)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Apr 22 23:23:58 2024
-// Update Count     : 958
+// Last Modified On : Tue Apr 23 14:05:21 2024
+// Update Count     : 963
 //
 
@@ -265,10 +265,22 @@
 static inline forall( T & | sized(T) ) {
 	// CFA safe initialization/copy, i.e., implicit size specification, non-array types
-	T * memset( T * dest, char fill ) {
-		return (T *)memset( dest, fill, sizeof(T) );
+	T * memset( T * dest, char fill ) {					// all combinations of pointer/reference
+		return (T *)memset( dest, fill, sizeof(T) );	// C memset
 	} // memset
-
-	T * memcpy( T * dest, const T * src ) {
-		return (T *)memcpy( dest, src, sizeof(T) );
+	T * memset( T & dest, char fill ) {
+		return (T *)memset( &dest, fill, sizeof(T) );	// C memset
+	} // memset
+
+	T * memcpy( T * dest, const T * src ) {				// all combinations of pointer/reference
+		return (T *)memcpy( dest, src, sizeof(T) );		// C memcpy
+	} // memcpy
+	T * memcpy( T & dest, const T & src ) {
+		return (T *)memcpy( &dest, &src, sizeof(T) );	// C memcpy
+	} // memcpy
+	T * memcpy( T * dest, const T & src ) {
+		return (T *)memcpy( dest, &src, sizeof(T) );	// C memcpy
+	} // memcpy
+	T * memcpy( T & dest, const T * src ) {
+		return (T *)memcpy( &dest, src, sizeof(T) );	// C memcpy
 	} // memcpy
 
Index: tests/alloc.cfa
===================================================================
--- tests/alloc.cfa	(revision 13de4478412abd33f139ec84186ad2c7b0e777a3)
+++ tests/alloc.cfa	(revision 4a3eb1c83341949f6869646db2327a872393b817)
@@ -10,6 +10,6 @@
 // Created On       : Wed Feb  3 07:56:22 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Oct 14 09:31:39 2022
-// Update Count     : 491
+// Last Modified On : Tue Apr 23 14:04:11 2024
+// Update Count     : 492
 //
 
@@ -240,5 +240,5 @@
 	free( stp );
 
-	posix_memalign( &stp, Alignment );                  // CFA posix_memalign
+	posix_memalign( &stp, Alignment );					// CFA posix_memalign
 	*stp = (Struct){ 42, 42.5 };
 	assert( (uintptr_t)stp % Alignment == 0 );
@@ -275,5 +275,5 @@
 	sout | nl;
 
-	stp = alloc( dim, Alignment`align );                // CFA array memalign
+	stp = alloc( dim, Alignment`align );				// CFA array memalign
 	assert( (uintptr_t)stp % Alignment == 0 );
 	for ( i; dim ) { stp[i] = (Struct){ 42, 42.5 }; }
@@ -316,7 +316,7 @@
 	sout | nl;
 
-	memset( &st, fill );                                // CFA memset, type safe
+	memset( st, fill );									// CFA memset, type safe
 	sout | "CFA memset" | hex(st.x) | hex(st.y);
-	memcpy( &st1, &st );                                // CFA memcpy, type safe
+	memcpy( st1, st );									// CFA memcpy, type safe
 	sout | "CFA memcpy" | hex(st1.x) | hex(st1.y);
 
